Android 上如何实现监听自身卸载

2016-06-21 19:27:40 +08:00
 qq915458022
用 native code fork 出来的进程在 L 以上貌似也会被杀掉…求问有什么办法监听啊?
5983 次点击
所在节点    程序员
44 条回复
qq915458022
2016-06-22 12:53:54 +08:00
@shyling 是要看汇编的节奏么😂😂
qq915458022
2016-06-22 12:54:25 +08:00
@ljbha007 如果用户点了取消呢?
qq915458022
2016-06-22 12:54:58 +08:00
@missingbobo 就是卸载时向服务器发送一封遗书 啊…有没有什么危害…
BSD
2016-06-22 13:13:01 +08:00
这论坛真有意思,经常一起喷流氓软件,却又经常一起研讨怎么才能让 app 更流氓。。。。
qq915458022
2016-06-22 13:18:16 +08:00
@vjnjc 👌
erDaren
2016-06-22 13:24:58 +08:00
你,要,干,什,么,
qq915458022
2016-06-22 13:26:29 +08:00
@BSD 并没有啊,只是向服务器发送一个卸载的统计数据而已
qq915458022
2016-06-22 13:27:29 +08:00
@erDaren 向服务器发送一个统计数据。国内又没有 google 服务
torchmu
2016-06-22 13:52:25 +08:00
@devzero 看了一下手上荣耀 6 ,输出的是 act=android.intent.action.PACKAGE_REMOVED ,所以兼容性还是个问题。此外,魅族、华为等默认不输出高级日志,所以这也是个问题。再然后,即便能监听,首先还得保活,这已经是另一个难点了。
momou
2016-06-22 13:57:45 +08:00
卸载需要统计吗?
在一定时间没连接服务器不就可以判定了
qq915458022
2016-06-22 14:22:36 +08:00
@momou 关机呢
qq915458022
2016-06-22 14:23:49 +08:00
@torchmu 我的想法是用辅助功能监听卸载的对话框,出现了后立即向服务器发送这么一个意图,如果后续没有取消这个意图就判定为卸载
guyskk
2016-06-22 14:56:42 +08:00
@qq915458022 要是没联网呢
liyvhg
2016-06-22 15:02:05 +08:00
@qq915458022 如果卸载的时候还收将被卸载的 app 本身控制,可以发送数据到服务器就可以做其他事情,例如阻止卸载,例如卸载的时候释放安装其他 app ,好恐怖。
qq915458022
2016-06-22 15:28:09 +08:00
@guyskk 所以只能粗略估计
momou
2016-06-22 17:22:55 +08:00
@qq915458022 如果一个用户几天都关机还算是有效用户?
sunpj
2016-06-22 17:29:37 +08:00
l 以上应该做不到了吧 系统机制改了 之前 fork 进程交给系统托管应该是正解
qq915458022
2016-06-22 17:34:45 +08:00
@sunpj 交给 inil ?
9hills
2016-06-23 07:48:19 +08:00
@qq915458022 你关机一天、两天,总不能关机 7 天吧。关机 7 天和卸载有啥区别。。

只需要判断 last connection 的时间就好了,超过 7 天的认为卸载掉了
qq915458022
2016-06-23 08:03:26 +08:00
@9hills 也行,我就这样实现算了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://tanronggui.xyz/t/287379

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX