如何在android中重启服务?

时间:2016-09-07 05:23:44

标签: android

我在一项活动中开始了一项服务。当我关闭活动时,活动服务也会停止。

有没有办法自动重启。?

3 个答案:

答案 0 :(得分:1)

如果您希望自己的服务在后台运行而不停止,请以粘性方式启动服务。

@Override
public int onStartCommand(Intent intent, int flags, int startId) {
    /* your code goes here */
    return START_STICKY;
}

答案 1 :(得分:0)

这是最糟糕的问题,无论你做什么......在你打开应用程序之前,你的服务永远不会重启。但是在API 21 android开发者添加了Job Schedular来维护后台服务。您可以使用它来安排有关时间和互联网连接等服务。

有关详细信息,请参阅此tutorial。快乐的编码。

答案 2 :(得分:-1)

private void restartService() {
    Intent restartIntent = new Intent(this, ScreenLockService.class);
    PendingIntent restartServicePI = PendingIntent.getService(getApplicationContext(), 1, restartIntent, PendingIntent.FLAG_ONE_SHOT);
    AlarmManager alarmService = (AlarmManager) getApplicationContext().getSystemService(Context.ALARM_SERVICE);
    alarmService.set(AlarmManager.ELAPSED_REALTIME, SystemClock.elapsedRealtime() + 1000, restartServicePI);
}