[英]Dynamically Registering a BroadcastReceiver for ACTION_BOOT_COMPLETED not working?
My Broadcast receiver is not restarting the service after a reboot or startup of my phone. 重新启动或启动手机后,我的广播接收器未重新启动服务。
My Receiver class code: 我的接收器类代码:
public class MyReceiver extends BroadcastReceiver
{
public void onReceive(Context context, Intent intent)
{
Intent serviceIntent = new Intent(context, MyService.class);
context.startService(serviceIntent);
}
}
My Service class code that registers the receiver in the onStartCommand() method: 在onStartCommand()方法中注册接收者的我的Service类代码:
myReceiver = new MyReceiver();
IntentFilter intentFilter = new IntentFilter("android.intent.action.BOOT_COMPLETED");
registerReceiver(myReceiver, intentFilter);
I cannot register the receiver in my Android manifest because I can only have this broadcast receiver be registered under certain conditions outlined in my Service class. 我无法在Android清单中注册接收器,因为只能在Service类中概述的某些条件下注册此广播接收器。 I have enabled
我已经启用
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
in my Android manifest file however. 在我的Android清单文件中。
It won't work. 它不会工作。 The only way to get ACTION_BOOT_COMPLETED broadcasts is via a manifest-registered BroadcastReceiver.
获得ACTION_BOOT_COMPLETED广播的唯一方法是通过清单注册的BroadcastReceiver。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.