我尝试在后台运行服务。使用过Start_Sticky。 基本上这是answer。它适用于许多设备,但在小米联想等设备中,当应用程序从“最近的应用程序”屏幕中删除时服务终止。我也尝试停用特定应用程序和完整系统的省电模式,但这也不起作用。
如何让它在这些设备中运行?我知道这是可能的,因为即使应用程序不在“最近的应用程序”屏幕中,某些应用程序(如whatsapp)和游戏也能够发送通知。
答案 0 :(得分:0)
您可以在服务类的onTaskRemoved()方法中创建1分钟的警报。它将在1分钟后自动调用并重新启动服务。
在服务类
中public void onTaskRemoved(Intent rootIntent) {
Intent restartService = new Intent(getApplicationContext(), YourService.class);
restartService.setPackage(Yourpackagename);
PendingIntent restartServiceIntent = PendingIntent.getService(getApplicationContext(), 1, restartService, PendingIntent.FLAG_ONE_SHOT);
AlarmManager alarmService = (AlarmManager) getApplicationContext().getSystemService(Context.ALARM_SERVICE);
alarmService.set(AlarmManager.ELAPSED_REALTIME, SystemClock.elapsedRealTime()+1000, restartServiceIntent);
}