0
我正在運行包含廣播接收器的服務。 我需要廣播接收器從Alarm Manager所做的系統定時器時鐘中斷中獲取消息。 這背後的主要思想是,當用戶關閉應用程序時,服務將繼續收聽,直到時間中斷髮生。 我不知道爲什麼它不能正常工作):請問如何改正它?Android registerReceiver內部運行服務,等待AlarmManager系統msg
主要活動:
service.registerRecvierForAlarm();
Intent intent = new Intent(Send.this, SmsReciverService.class);
intent.setAction("intent_myaction_alarm");
PendingIntent pintent = PendingIntent.getBroadcast(Send.this, 0, intent, 0);
AlarmManager alarm = (AlarmManager)getSystemService(Context.ALARM_SERVICE);
alarm.set(AlarmManager.RTC_WAKEUP, time, pintent);
服務:
public void registerRecvierForAlarm(){
IntentFilter intentFilter = new IntentFilter("intent_myaction_alarm");
this.ReceiverAlarm = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
System.out.println("message recived");
}
};
this.registerReceiver(this.ReceiverAlarm,intentFilter);
}
我知道這一點,但我不想啓動的服務在以後的時間裏,這項服務正在運行。我需要該服務以broadcastReceiver方式收聽系統。 – 2015-02-07 16:49:14
@StavBodik:然後創建意圖使用broadcastReceiver名稱請參閱我的編輯答案 – 2015-02-07 16:51:26
@StavBodik:但對於broadcastReceiver可能需要通過擴展'BroadcastReceiver'並在'AndroidManifest'中用自定義操作'intent_myaction_alarm'註冊來創建Receiver,而不是使用' registerReceiver' – 2015-02-07 16:53:34