문제

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:

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. I have enabled

<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>

in my Android manifest file however.

도움이 되었습니까?

해결책

It won't work. The only way to get ACTION_BOOT_COMPLETED broadcasts is via a manifest-registered BroadcastReceiver.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top