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