android程序如何做到不被kill,能够再启动

ulyn 发布于 2013/06/16 01:47
阅读 4K+
收藏 3

android系统没有root,系统为4.0以上。

测试过360等安全软件,都能够在 setting - 强制停止后自己又启动复活。很想知道这些软件是怎么做到的?没有大神帮忙解惑,不胜感激!

自己试过网上搜的一些service自启(利用广播机制),测试在" 设置- 强制停止"都没有效果,貌似强制停止后程序全退出了,连广播都没法收到。

加载中
0
狄仁傑
狄仁傑
做不到不被kill,但是可以在通知栏占着基本上保证大部分情况下不被kill 或者在起个service 在 ondestory方法里面 启动service
0
TrulyBelieve
TrulyBelieve

使用AlarmManager,定时给自己广播。

alarmMgr.set(AlarmManager.RTC_WAKEUP, l, pendIntent);

就像闹钟,就算被杀了、手机待机了,还是可以启动起来。

记得加<uses-permission android:name="android.permission.WAKE_LOCK" />

另外还可以监听网络状态,有效无效,多几种被唤起的机会。

ulyn
ulyn
这方法看起来貌似不错,就不知道耗电不,我明天再试试。谢谢
ulyn
ulyn
是否有详细点的例子学习下。。。谢谢
ulyn
ulyn
您有没有试过用360或者在设置-强制停止后是否还可以自启动起来,android4的系统。。。。
0
jimey
jimey
唉,最烦流氓软件了
ulyn
ulyn
对 上面这兄弟说的很好,支持
TrulyBelieve
TrulyBelieve
把这个功能放到企业应用里,不叫流氓,叫制度
0
hawkyoung
hawkyoung

二楼的方法好,另外一个apk里头可以把不同的组件安排在不同进程里头的

可以把360的apk解开看它的manifest,要防杀需要三个进程互相看着吧

ulyn
ulyn
谢谢回答,请问是否有详细点的例子学习下。。。
0
HeliosM
HeliosM
这也是我放弃安卓的原因
0
TrulyBelieve
TrulyBelieve

这种方法肯定耗电了,手机本想休眠,你定时唤起,"睡不好情绪就不好",是吧

另外有个小问题一直没解决(由于不做那个项目了)。半夜里,定时唤醒手机,比白天时间间隔要长,手机会休眠,程序定时唤醒后可以执行,但是访问网络就是失败,仿佛网络模块没有唤醒,不知道怎么搞,还是不同机型的问题,目前遇到这种问题,是强制打开屏幕,让其亮一会,网络就通了。

lz继续研究一下

ulyn
ulyn
我试了下 AlarmManager 它在“强制停止“ 之后就失效了
0
弟大勿勃
楼主解决了没,分享下把,我也遇到了同样的问题
ulyn
ulyn
没有解决,系统强制停止后它的所有相关的线程都会kill,并且这个程序收不到任何广播。强制停止是没办法的,除非把程序植入系统,做成系统程序。这是我对这个事情的理解,不知道有没有人能够解释。
返回顶部
顶部