怎样让android应用永远不退出或者退出后有通知
答案:6 悬赏:70 手机版
解决时间 2021-04-05 04:36
- 提问者网友:嗝是迷路的屁
- 2021-04-04 10:59
怎样让android应用永远不退出或者退出后有通知
最佳答案
- 五星知识达人网友:長槍戰八方
- 2021-04-04 11:22
要想永远不被系统kill掉,那你只能是升级成系统应用。
你的这个需求其实我也做过但是也不是%100 保证 Service 永远不被 Kill.
说一下我的思路吧
1,定义一个服务在后台运行,让这个服务单独一个进程,不要和你的应用程序共享一个进程。
2.在你的service的onDestroy()方法中调用 onStart() 方法。
3.定义一个接口开机广播的接收器,开机就启动你的服务。
4.根据的业务需求是需要定位,那肯定是需要网络的,你可以再写一个接收网络广播的接收器,当网络设置从断网到联网,就启动你的服务,开始定位。
你的这个需求其实我也做过但是也不是%100 保证 Service 永远不被 Kill.
说一下我的思路吧
1,定义一个服务在后台运行,让这个服务单独一个进程,不要和你的应用程序共享一个进程。
2.在你的service的onDestroy()方法中调用 onStart() 方法。
3.定义一个接口开机广播的接收器,开机就启动你的服务。
4.根据的业务需求是需要定位,那肯定是需要网络的,你可以再写一个接收网络广播的接收器,当网络设置从断网到联网,就启动你的服务,开始定位。
全部回答
- 1楼网友:过活
- 2021-04-04 16:08
正在开发一款基于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掉之前运行一段代码(比如给用户做出自己已退出的提示)。
- 2楼网友:鱼忧
- 2021-04-04 15:39
360是监听很多的广播啊,当监听到系统发来的这些广播就启动我们的程序(如电量的改变,网络的切换等等)
- 3楼网友:酒醒三更
- 2021-04-04 14:42
可以设置一个定时器,让其每个一定时间判定一次系统是否运行,若未运行就重启后台service ,设定时间越短,被kill掉的时间越短
- 4楼网友:空山清雨
- 2021-04-04 13:47
没人能保证自己程序不被KILL的吧,要是能这样,Google他不哭才怪。
应该都是实现了很多广播监听,在被Kill后。网络状态改变,充电,重启手机.....都可发送一次广播启动程序
应该都是实现了很多广播监听,在被Kill后。网络状态改变,充电,重启手机.....都可发送一次广播启动程序
- 5楼网友:旧脸谱
- 2021-04-04 12:33
1,调高应用的级别,这样只能减少被Kill的可能,但不可能完全无视被Kill的可能性。
2.360应该是有一个监听,过一段时间就检查程序是否正在运行,如果没有运行就启动程序。
3.不知道。但你可以试试抓取全局异常试试,有一大部分可能不会好用。
2.360应该是有一个监听,过一段时间就检查程序是否正在运行,如果没有运行就启动程序。
3.不知道。但你可以试试抓取全局异常试试,有一大部分可能不会好用。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯