我使用服务类
中的代码段来使用粘性Android服务@Override
public int onStartCommand(Intent intent, int flags, int startId) {
return START_STICKY;
}
但是只有在Android o / s关闭应用程序强制关闭时才重新启动,虽然当用户强制停止应用程序管理器中的应用程序时,服务也会终止。 但是,我的要求是我希望永远运行服务,直到应用程序安装在设备中。 有人可以帮我这个吗?
答案 0 :(得分:0)
经过长时间的研究和博客推荐,如果用户单击从应用程序管理器中强制关闭应用程序,则无法自动重新启动。
但是,可以通过以下广播来解决停止服务的问题,例如-USB检测,蓝牙状态更改,设备重启等。在这种情况下,设备会发送广播,并且如果您的应用能够接收这些通知,则可以重启从广播中收到的上下文中提供您的服务。
答案 1 :(得分:-1)
您可以使用Forground Service
让您的服务保持活力。
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
Notification notification=new Notification(R.drawable.icon,"The Service Is Running",System.currentTimeMillis());
Intent j=new Intent(this, Activity.class);
PendingIntent pi=PendingIntent.getActivity(this, 0,
j, 0);
notification.setLatestEventInfo(this, "Notification Message", "RunningService", pi);
notification.flags|=Notification.FLAG_NO_CLEAR;
startForeground(1, notification);
return START_STICKY;
}
答案 2 :(得分:-1)
它不可能。但是你可以使用前台服务。在内存不足的情况下,android os可以杀死前台服务