首先我想給這裏的代碼,但代碼的方式來長,它可以在這裏意圖:將活動直接綁定到沒有服務的BroadcastReceiver?
http://www.c-sharpcorner.com/article/creating-and-scheduling-alarms-in-android/
的代碼的文章中找到不創建服務。
按我理解,BroadcastReceiver
被用來服務於基於其對應服務的活性(通過意圖)。
通常我們會宣佈這樣的:
Intent serviceIntent = new Intent(MainActivity.this, CustomeService.class);
startService(serviceIntent);
registerReceiver(mReceiver, mIntentFilter);
其中mReceiver
將是這樣的:
private BroadcastReceiver mReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
}
}
但有什麼東西在例如困惑我在AlarmManager類,我通過鏈接共享:
intent = new Intent(this, MyBroadcastReceiver.class);
pendingIntent = PendingIntent.getBroadcast(
this.getApplicationContext(), 280192, intent, PendingIntent.FLAG_CANCEL_CURRENT);
alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, Calendar.getInstance().getTimeInMillis() + (i * 1000), 10000
, pendingIntent);
這是混淆了我行是這樣的:
intent = new Intent(this, MyBroadcastReceiver.class);
這個MyBroadcastReceiver.class
的類型是BroadcastReceiver
本身,而不是Service.
所以哪來的服務這MyBroadcastReceiver.class
從那時候收到廣播?
是否BroadcastReceiver以某種方式創建自己的服務?
嗯,你究竟想達到什麼目的? (我知道我重複這個問題) – pskink
我的意思是這個MyBroadcastReceiver從哪裏接收廣播的服務?我很抱歉,如果不夠清楚,這是一個24小時內學習機器人對於我來說休息是脆弱的。我的頭很累,現在很困惑,如果還不清楚,請告訴我。 –