eoe 移动开发者论坛

 找回密码
 加入eoe

QQ登录

只需一步,快速开始

查看: 63369|回复: 977
收起左侧

android应用卸载提示[绝对经典,不容错过]

    [复制链接]

该用户从未签到

46

主题

942

帖子

7192

e币
发表于 2012-3-10 11:03:32 | 显示全部楼层 |阅读模式
本帖最后由 大陆刀客 于 2012-4-11 16:41 编辑

大家已经熟悉这样的场景:win系统中程序被卸载时,弹出调查问卷之类的窗口。从而帮助程序开发者了解用户需求,用于进一步的改进,意义重大。那么,在android平台是否有方法在自己的应用被卸载时,弹出调查问卷呢?

终于,终于被ME找到方法了,并且对其进行了优化(耗电和性能)。

有图为证:










原理如下:


在调用系统卸载器卸载应用时,会打印如下信息:
03-10 21:44:32.644: I/ActivityManager(1332): Starting activity: Intent { act=android.intent.action.DELETE dat=package:com.dianping.v1 cmp=com.android.packageinstaller/.UninstallerActivity } from pid 14790
从打印的信息中我们可以看出,卸载应用的Action是android.intent.action.DELETE,参数是卸载应用的包名package:com.dianping.v1,系统卸载器的活动名称为com.android.packageinstaller.UninstallerActivity。
基于以上的研究,我们可以通过check系统的log信息,来检测自己应用被卸载的事件,从而弹出调查问卷。
check 系统的log信息,是一件耗时、耗电的Task,如何改进用户的体验呢?省电、低功耗、避免用户用户使用手机时出现卡顿情况,是我们优化的目标。
优化的方法有如下几点:
1.检测用户手机屏幕状态,锁屏状态,中止工作;屏幕点亮时,开始工作。
2.在用户进入关键活动时,启动check系统的log。关键的活动如系统设置中管理应用程序页,应用详情页,系统卸载页。在用户推出关键活动时,停止对log的check。
3.为了避免出现卡顿现象,我们每隔1s检测一下当前活动,每读取一条log信息,就yeild交出CPU控制权。





源码如下:



卸载时未出现调查问卷的原因
1. 应用权限未正确配置
2. SDK只在调用系统卸载器时有效
2.问卷页未正确书写,如未加入manifest.xml文件中等原因
3.卸载监控服务被系统销毁
4.系统兼容性问题,如有的系统是深度定制的,可能存在问题。
注:暂未发现系统兼容性导致的问卷无法弹出的问题。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?加入eoe

x

该用户从未签到

0

主题

22

帖子

119

e币
发表于 2013-8-6 13:47:19 | 显示全部楼层
个人觉得浪费这么多资源来给用户一个卸载的提示真的没必要。

点评

c_d
+1 用户反应手机卡~ 为什么手机会卡? 就是这些没用的服务在后台导致的 如果所有的app都这么搞 android 就废了~  详情 回复 发表于 2016-5-18 09:19

签到天数: 1 天

连续签到: 1 天

[LV.1]初来乍到

39

主题

413

帖子

8778

e币
发表于 2012-3-17 14:19:28 | 显示全部楼层
看看吧~~

该用户从未签到

1

主题

44

帖子

95

e币
发表于 2012-4-16 16:20:52 | 显示全部楼层
学习一下~

该用户从未签到

46

主题

942

帖子

7192

e币
 楼主| 发表于 2012-3-10 11:07:05 | 显示全部楼层

该用户从未签到

1

主题

30

帖子

182

e币
发表于 2012-3-10 11:16:06 | 显示全部楼层
用DOS 命令怎么卸载??

点评

要是你装了ADB,用dos命令卸载:adb uninstall 程序包名,比如微信的包名是:com.tencent.mm,那么卸载微信的dos命令就是:adb uninstall com.tencent.mm。  详情 回复 发表于 2014-11-9 12:31
adb uninstall packagename  详情 回复 发表于 2012-8-29 17:19
adb uninstall packagename  详情 回复 发表于 2012-8-29 17:19
这里检测的是自己的应用被卸载的事件,必须使用系统卸载时会触发  详情 回复 发表于 2012-3-10 14:00

签到天数: 1 天

连续签到: 1 天

[LV.1]初来乍到

1106

主题

2118

帖子

8310

e币
发表于 2012-3-10 11:29:50 | 显示全部楼层

该用户从未签到

46

主题

942

帖子

7192

e币
 楼主| 发表于 2012-3-10 14:00:05 | 显示全部楼层
下雨河 发表于 2012-3-10 11:16
用DOS 命令怎么卸载??

这里检测的是自己的应用被卸载的事件,必须使用系统卸载时会触发

该用户从未签到

3

主题

3439

帖子

285

e币
发表于 2012-3-12 22:23:06 | 显示全部楼层

该用户从未签到

0

主题

57

帖子

181

e币
发表于 2012-3-13 13:54:01 | 显示全部楼层
只为看源码

签到天数: 1 天

连续签到: 1 天

[LV.1]初来乍到

0

主题

621

帖子

812

e币
发表于 2012-3-13 14:01:15 | 显示全部楼层
研究下

该用户从未签到

96

主题

1238

帖子

2617

e币
QQ认证
发表于 2012-3-13 14:08:35 | 显示全部楼层

该用户从未签到

1

主题

13

帖子

17

e币
发表于 2012-3-13 14:30:11 | 显示全部楼层
有兴趣!

该用户从未签到

0

主题

337

帖子

396

e币
发表于 2012-3-13 14:42:24 | 显示全部楼层
好牛X

该用户从未签到

1

主题

139

帖子

155

e币
发表于 2012-3-13 14:50:25 | 显示全部楼层
拿来瞧瞧

该用户从未签到

55

主题

854

帖子

1341

e币
发表于 2012-3-13 14:53:38 | 显示全部楼层

该用户从未签到

2

主题

331

帖子

18

e币
发表于 2012-3-13 15:14:27 | 显示全部楼层
真的还是假的

该用户从未签到

4

主题

280

帖子

839

e币
发表于 2012-3-13 15:17:45 | 显示全部楼层
学习下,看看

点评

学习下  发表于 2012-6-12 19:18
*滑动验证:
您需要登录后才可以回帖 登录 | 加入eoe

本版积分规则

推荐阅读
赞助商们

QQ|联系我们|小黑屋|手机版|eoe 移动开发者论坛 ( 京ICP备11018032 京公网安11010802020210  

GMT+8, 2017-7-21 10:30 , Processed in 0.636550 second(s), 26 queries , Memcache On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表
关闭

扫一扫 关注eoe官方微信