我在一项活动中开始了一项服务。当我关闭活动时,活动服务也会停止。
有没有办法自动重启。?
答案 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);
}