Java 安排Android服务在手机重启后重新启动

Java 安排Android服务在手机重启后重新启动,java,android,android-service,Java,Android,Android Service,我需要在我的应用程序中有一个第一次启动并永远运行的服务,即使用户重新启动手机,我的服务也会自动启动而不运行我的应用程序。我写了这个代码,但当用户重新启动他的手机时,我的服务不会再次启动 public class notifService extends Service { @Override public IBinder onBind(Intent arg0) { return null; } @Override public int o

我需要在我的应用程序中有一个第一次启动并永远运行的服务,即使用户重新启动手机,我的服务也会自动启动而不运行我的应用程序。我写了这个代码,但当用户重新启动他的手机时,我的服务不会再次启动

public class notifService extends Service {
    @Override
    public IBinder onBind(Intent arg0) {
        return null;
    }

    @Override
    public int onStartCommand(Intent intent, int flags, int startId) {
        super.onStart(intent, startId);
        return Service.START_STICKY;
    }

    @Override
    public void onDestroy() {
        super.onDestroy();
    }
}
在主要活动中,我会这样开始服务:

// start service
Intent service = new Intent(MainActivity.this, notifService.class);
MainActivity.this.startService(service);

感谢您的帮助。

在BroadcastReceiver中收听android.intent.action.BOOT\u的
并启动您的服务

比如说

public class YourDefinedBootReceiver extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {
        Intent service = new Intent(context, notifService.class);
    context.startService(service);
    }
}
此外,您必须持有以下权限:

参考:和