从最近的屏幕移除应用时,Android后台服务停止。任何人都可以帮助制作始终在后台运行的服务,即使应用程序已关闭,也会禁用自动启动权限。
某些设备具有自动启动权限。如果禁用此权限,则当我们从最近的屏幕关闭应用程序时,服务不会重新启动。
答案 0 :(得分:2)
你做不到。如果应用程序强行关闭,服务无法运行,这是一个安全问题 - 用户需要关闭应用程序。这包括刚刚安装应用程序(它已安装到强制停止状态),并且用户必须启动它以在任何服务运行之前将其从那里删除。
答案 1 :(得分:1)
如果您使用自定义ROM,我们无能为力。您可能会看到Facebook和Messenger等应用程序仍在运行。它们正在运行,因为它们是该rom的白名单应用程序。如果你希望你的服务保持活力,你可以做一些事情,但这个过程也需要自动启动权限。
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
//setupNotificationListenerForNewRequest();
return Service.START_STICKY;
}
删除了表单任务??
@Override
public void onTaskRemoved(Intent rootIntent) {
super.onTaskRemoved(rootIntent);
startService(new Intent(getApplicationContext(), Service.class));
}
被摧毁?
@Override
public void onDestroy() {
super.onDestroy();
Intent myIntent = new Intent(this, Service.class);
PendingIntent pendingIntent = PendingIntent.getService(getApplicationContext(), 0, myIntent, 0);
AlarmManager alarmManager1 = (AlarmManager) getSystemService(ALARM_SERVICE);
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(System.currentTimeMillis());
calendar.add(Calendar.HOUR, 6);
alarmManager1.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), pendingIntent);
}
希望这些有助于......