2 flyfight88 flyfight88 于 2013.12.17 15:35 提问

Android 开发在程序退出时的操作应该放在哪处理

目前有个android项目,在apk退出时要做一些向网络上报数据,之前我是放在主activity的ondestroy方法里的,后来发现当用户按home键,之后apk被系统kill的时候,是不会调用ondestroy的,这样我的上报处理就不会做了。请问这种处理应该怎么做,别说放在onstop里,我有多个activity,主activity跳转的时候就会onstop了,我是想apk整个退出时做处理,谢谢!

3个回答

flyfight88
flyfight88   2013.12.21 14:37
已采纳

没找到可行的方案,系统kill的时候,靠生命周期方法是捕捉不到的,最后用打点的方法,定时存储刷新要发送的内容,如果被kill,下次重启的时候检查下存储内容,把最后一次存储的信息发过去,虽然有点误差,不过还是可以接受的。

Dminter
Dminter   2013.12.18 08:55

反过来把上报放到 onResume onPause

flyfight88
flyfight88 我说了我这是多activity,放onpause 跟放onstop一样都不是我要的效果
接近 4 年之前 回复
luoyi20102010
luoyi20102010   2013.12.18 17:44

从写onKeyDown等方法在里面对hone键先进行拦截。在里面处理完你的东西后再让系统往下走

sunhangok
sunhangok 4.0之后也可以监控home键,看这个网址http://blog.csdn.net/angle_rupert/article/details/7025104
接近 4 年之前 回复
flyfight88
flyfight88 4.0之后 监听不到home键了吧
接近 4 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片