目前在google和百度上搜索到的app自身卸载的办法通常是
1:启用Service和BroadcastReceiver
但是基本上行不通,app主进程卸载后全部其广播和服务均消失
2.循环监听log,但是无法返回给服务器信息,且对app的性能影响较大,而且目前大厂中手机都直接关闭了日志功能,所以可能什么都抓取不到。
3.启用c语言的fork()进程,使用jni技术,监听data/data/包名 是否存在
在android5.0更新以后,这种方法失效,c语言启用的fork()进程同样被杀死,其版本做到了“同包名杀”,“同task杀”,“同进程组杀”,所以无法实现。
4.启用友盟的u-push的卸载统计,使用的技术是实现app的组化,在同一组中的app相互监听,一旦app被卸载,由其他app反回数据到服务器。目前该功能还属于内测阶段,申请需要审核很久。
所以,希望大家有什么好的办法可以留言,大家一起讨论!