一般来说,我有一项服务向我的活动发送一个意图,该意图总是每 6 秒BroadcastReceiver
一次,并且每次接收更新一个计时器。
我偶然发现一段时间后(这是随机的)特定接收器停止工作。
OnPause
我unregister
它,onResume
我再次注册。
这也在任何设备和安卓版本中随机发生。
我通过在网上研究发现,在onReceive
接收器准备好被 Android 杀死后,我的却一直在获取意图。
“接收器生命周期
BroadcastReceiver 对象仅在调用 onReceive(Context, Intent) 期间有效。一旦您的代码从此函数返回,系统就会认为该对象已完成且不再处于活动状态。"
仅供参考,我在我的活动中这样声明
public class MyReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context arg0, Intent intent) {
Log.i("Intent received", "+_ " + intent.getAction());
if (intent.getAction().equals(TEST)) {
//do sth
} else {
//do sth else
}
}
}
甚至花时间阅读也非常感谢:)。
我没有在我的清单中声明任何内容,至于我的 logcat,我必须在它发生的那一刻通过我的电话。该服务是一个异步任务后的简单发送广播。我做的最后一个测试是通过记录发送的蜜蜂来确保服务中的代码正在运行。而且服务还在继续。
我现在远离我的代码编写,但我认为不会有任何帮助,因为它非常简单。纳克斯