怎样让android应用永远不退出或者退出后有通知
正在开发一款基于android的定位软件,需要在后台不断的监听并上报地理位置信息。我的问题是:1:了解到android的机制是当系统资源不足时会自动kill掉一些程序。那...
正在开发一款基于android 的定位软件,需要在后台不断的监听并上报地理位置信息。
我的问题是:
1:了解到android的机制是当系统资源不足时会自动kill掉一些程序。那么,有没有办法保证我这个应用永远不会被kill掉? (有人建议用service ,但是service 貌似当系统资源不足时也会被kill掉啊)
2: 从网上查了很多资料,说永远不被kill掉是不可能的,因为这是android Linux系统的特性, 但是我看到预装的360卫士为什么就能永远在后台运行而不被kill掉?
3:如果不能实现永远不被杀死的效果, 那么, 至少给个被kill掉的通知吧, 怎样让应用监听自己被kill掉的事件,让应用自己在被kill掉之前运行一段代码(比如给用户做出自己已退出的提示)。 展开
我的问题是:
1:了解到android的机制是当系统资源不足时会自动kill掉一些程序。那么,有没有办法保证我这个应用永远不会被kill掉? (有人建议用service ,但是service 貌似当系统资源不足时也会被kill掉啊)
2: 从网上查了很多资料,说永远不被kill掉是不可能的,因为这是android Linux系统的特性, 但是我看到预装的360卫士为什么就能永远在后台运行而不被kill掉?
3:如果不能实现永远不被杀死的效果, 那么, 至少给个被kill掉的通知吧, 怎样让应用监听自己被kill掉的事件,让应用自己在被kill掉之前运行一段代码(比如给用户做出自己已退出的提示)。 展开
7个回答
展开全部
要想永远不被系统kill掉,那你只能是升级成系统应用。
你的这个需求其实我也做过但是也不是%100 保证 Service 永远不被 Kill.
说一下我的思路吧
1,定义一个服务在后台运行,让这个服务单独一个进程,不要和你的应用程序共享一个进程。
2.在你的service的onDestroy()方法中调用 onStart() 方法。
3.定义一个接口开机广播的接收器,开机就启动你的服务。
4.根据的业务需求是需要定位,那肯定是需要网络的,你可以再写一个接收网络广播的接收器,当网络设置从断网到联网,就启动你的服务,开始定位。
你的这个需求其实我也做过但是也不是%100 保证 Service 永远不被 Kill.
说一下我的思路吧
1,定义一个服务在后台运行,让这个服务单独一个进程,不要和你的应用程序共享一个进程。
2.在你的service的onDestroy()方法中调用 onStart() 方法。
3.定义一个接口开机广播的接收器,开机就启动你的服务。
4.根据的业务需求是需要定位,那肯定是需要网络的,你可以再写一个接收网络广播的接收器,当网络设置从断网到联网,就启动你的服务,开始定位。
展开全部
1,调高应用的级别,这样只能减少被Kill的可能,但不可能完全无视被Kill的可能性。
2.360应该是有一个监听,过一段时间就检查程序是否正在运行,如果没有运行就启动程序。
3.不知道。但你可以试试抓取全局异常试试,有一大部分可能不会好用。
2.360应该是有一个监听,过一段时间就检查程序是否正在运行,如果没有运行就启动程序。
3.不知道。但你可以试试抓取全局异常试试,有一大部分可能不会好用。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
没人能保证自己程序不被KILL的吧,要是能这样,Google他不哭才怪。
应该都是实现了很多广播监听,在被Kill后。网络状态改变,充电,重启手机.....都可发送一次广播启动程序
应该都是实现了很多广播监听,在被Kill后。网络状态改变,充电,重启手机.....都可发送一次广播启动程序
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以设置一个定时器,让其每个一定时间判定一次系统是否运行,若未运行就重启后台service ,设定时间越短,被kill掉的时间越短
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2015-12-23 · 知道合伙人教育行家
关注
展开全部
正在开发一款基于android 的定位软件,需要在后台不断的监听并上报地理位置信息。
我的问题是:
1:了解到android的机制是当系统资源不足时会自动kill掉一些程序。那么,有没有办法保证我这个应用永远不会被kill掉? (有人建议用service ,但是service 貌似当系统资源不足时也会被kill掉啊)
2: 从网上查了很多资料,说永远不被kill掉是不可能的,因为这是android Linux系统的特性, 但是我看到预装的360卫士为什么就能永远在后台运行而不被kill掉?
3:如果不能实现永远不被杀死的效果, 那么, 至少给个被kill掉的通知吧, 怎样让应用监听自己被kill掉的事件,让应用自己在被kill掉之前运行一段代码(比如给用户做出自己已退出的提示)。
我的问题是:
1:了解到android的机制是当系统资源不足时会自动kill掉一些程序。那么,有没有办法保证我这个应用永远不会被kill掉? (有人建议用service ,但是service 貌似当系统资源不足时也会被kill掉啊)
2: 从网上查了很多资料,说永远不被kill掉是不可能的,因为这是android Linux系统的特性, 但是我看到预装的360卫士为什么就能永远在后台运行而不被kill掉?
3:如果不能实现永远不被杀死的效果, 那么, 至少给个被kill掉的通知吧, 怎样让应用监听自己被kill掉的事件,让应用自己在被kill掉之前运行一段代码(比如给用户做出自己已退出的提示)。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询