Android 系统清理主机杀死我的前台服务
我正在运行一个位于前台的服务,它有一个持续的通知 我的一个用户告诉我,我的应用程序被Clean Master杀掉了(它集成在他的android系统中,不是用户应用程序)。如果此应用程序释放RAM,它将终止我的服务,并且不会重新启动,即使它正在使用Android 系统清理主机杀死我的前台服务,android,service,foreground-service,Android,Service,Foreground Service,我正在运行一个位于前台的服务,它有一个持续的通知 我的一个用户告诉我,我的应用程序被Clean Master杀掉了(它集成在他的android系统中,不是用户应用程序)。如果此应用程序释放RAM,它将终止我的服务,并且不会重新启动,即使它正在使用START\u STICKY,并且正在使用startForeground在前台运行,并不断发出通知 我认为这只适用于系统应用程序,因为据我所知,前台服务不会被用户应用程序杀死 我能做些什么吗?我希望我的服务在被终止时重新启动,就像在其他情况下一样 我的服
START\u STICKY
,并且正在使用startForeground
在前台运行,并不断发出通知
我认为这只适用于系统应用程序,因为据我所知,前台服务不会被用户应用程序杀死
我能做些什么吗?我希望我的服务在被终止时重新启动,就像在其他情况下一样
我的服务如下所示:
public class OverlayService extends Service
{
@Override
public void onCreate()
{
super.onCreate();
// prepare notification...
// ...
// start foreground
super.startForeground(id, notification);
}
@Override
public int onStartCommand(Intent intent, int flags, int startId)
{
return START_STICKY;
}
}
我能做些什么吗?是的,请用户将你的应用程序添加到“白名单”中,如果“Clean Master”中存在这样的应用程序,或者让他禁用“Clean Master”(因为它们被解除了),他不能禁用它,这是一个系统应用程序,他没有根。我不知道为什么,但他说我的应用程序没有出现在他可以添加到白名单的应用程序列表中……你可以尝试检测是否安装了该软件包,并在你的应用程序中警告用户,所以说“这不是我的错”。到目前为止,我的测试表明,如果clean master是一个用户应用程序,我的服务永远不会停止。这似乎是应用程序滥用了它的系统应用程序权限,如果可能的话,更彻底地清理内存。。。因此,在大多数情况下,应用程序本身根本不是问题。。。