调用Activity onDestroy时调用Android onCreate Service

调用Activity onDestroy时调用Android onCreate Service,第1张

概述我有一项启动服务的活动.如果我退出到主屏幕,然后从最近的应用程序列表中手动关闭活动,则会在服务中再次调用onCreate. 因此,当活动被销毁时,再次调用onCreate(即使服务在活动中调用onDestroy时运行) 我不希望再次调用服务中的onCreate.我知道它可能重复这个:Android service onCreate is called multiple times without 我有一项启动服务的活动.如果我退出到主屏幕,然后从最近的应用程序列表中手动关闭活动,则会在服务中再次调用onCreate.

因此,当活动被销毁时,再次调用onCreate(即使服务在活动中调用onDestroy时运行)

我不希望再次调用服务中的onCreate.我知道它可能重复这个:Android service onCreate is called multiple times without calling onDestroy但是这里建议将服务放在另一个进程中的解决方案不起作用(至少在AndroID 4.4 kit kat上)

有什么建议?

解决方法 这是因为从“最近使用的应用程序”列表中删除应用程序后,您将强行终止该服务.有两种方法可以避免重启.不太好的方法是将服务放在与AndroID Manifest中的活动不同的过程中.

例如:

<activity ...     process:"com.example.activity.process" /> <service ...     process:"com.example.service.process" />

因此,在杀死应用程序时,服务也不会被杀死并重新启动.如果您使用此方法,则该服务将由AndroID认为合适.

更正确的方法是使用onStartCommand()方法.

只需将以下代码添加到您的服务:

@OverrIDepublic int onStartCommand(Intent intent,int flags,int startID) {    return START_NOT_STICKY;}

如果未正确终止,即不调用onDestroy(),这将阻止服务重新启动.

总结

以上是内存溢出为你收集整理的调用Activity onDestroy时调用Android onCreate Service全部内容,希望文章能够帮你解决调用Activity onDestroy时调用Android onCreate Service所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1127622.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存