Android-在Android程序被强制退出后,怎样发送消息或者执行一段代码?
在Android程序被强制退出后,怎样发送消息或者执行一段代码?
现在正常退出,会发送一条消息通知其他组件,但是在手机的“应用程序列表”中强制停止后,不知道怎样发送消息,已经在onDestroy等方法中试验,没有效果~
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(8)
如果是被手动杀死进程的话,不能触发什么方法。
但是可以这么做。。
1、若正常退出,在配置文件中做标识,标识为: 正常退出
2、打开客户端,读取配置文件,若上一次状态不是正常退出,则说明上一次被异常终止。这时候来发送你的消息
或者
将客户端设置为系统的核心程序。。<application android:persistent=“true”
这样强制关闭按钮是灰色的。
可以使用Java中运行时的Hook 来实现。
如果有hook的话,hook一下就知道了
有看过类似的博文。但是没有去深究。。你可以参考
http://blog.csdn.net/sodino/article/details/6540329
我个人感觉应该是行不通的。就好像windows中,你通过任务管理器去结束一个进程,你的程序是不能在结束进程时获得一个事件的通知,然后执行相应的代码。
因为强制结束进程这个机制是为了提供一个无条件结束进程的方法,如果还要给你程序发送一个事件,让你的程序可以作出反应的话,就完全违背了这个机制。因为你的事件响应代码是不是可以执行那些撤销这个强制结束动作的代码呢?
这就有点像道高一尺魔高一丈的感觉,两者会不停的争取自己获得更大的权力。(表达能力实在有限啊,自己脑补下吧。)我想,关于是否要在强制结束进程时通知应用程序应该曾经有过权衡,我想操作系统的设计者最终还是决定,尊重人(用户)的权力。
一个猥琐的办法,用AlarmManager设定一个定时任务,定期启动一个后台Service检查程序是在否运行,当然,需要和上面说的一样,需要弄一个标记(可以是SharedPreference)来标记应用是否被运行和正常关闭。
试试用service来发送广播
建议你找一下android中的广播大全,我记得有个系统关闭一个程序以后,会发送一个广播,你可以监听这个广播并实现你要处理的东西