我的广播接收器似乎没有接收到它正在监听的意图。
我启动了一个必须一直运行的后台服务。每当服务被杀死时,它会向我的广播接收器发送一个意图,然后重新启动服务。
这是我的服务的onDestroy
:
@Override
public void onDestroy() {
Log.i(TAG, "onDestroy");
sendBroadcast(new Intent("com.myapp.app.RESTART_SERVICE"));
stoptimertask();
super.onDestroy();
}
这是我的广播接收器:
public class RestarterBroadcastReceiver extends BroadcastReceiver {
public RestarterBroadcastReceiver() {
}
@Override
public void onReceive(Context context, Intent intent) {
Log.i(TAG, "Service stopped, restarting...");
context.startService(new Intent(context, ActivityRecognitionService.class));
}
}
以下是 Android Manifest 中重要的部分:
<receiver
android:name=".RestarterBroadcastReceiver"
android:enabled="true"
android:exported="true">
<intent-filter>
<action android:name="com.myapp.app.RESTART_SERVICE"/>
</intent-filter>
</receiver>
为什么我的广播接收器没有收到意图?