找回密码
 注册
Simdroid-非首页
查看: 221|回复: 0

[Autoform、Pamstamp、Fastamp] Android小实践(监听安卓手机中的应用安装与卸载)

[复制链接]
发表于 2019-11-6 15:03:16 | 显示全部楼层 |阅读模式 来自 江苏苏州
1、实现目标
编写一个Android App,实现对Android系统中应用的安装与卸载进行监听,并弹出相应的提示。

2、原理简介
在Android系统中,应用程序的安装与卸载会由系统监听并进行全局广播。其中,BroadcastReceiver就是Android系统全局广播监听类。我们想要实现监听应用的安装与卸载,可以通过自定义一个类去继承BroadcastReceiver并实现相应的方法与逻辑处理。然后再对我们的自定义广播进行注册即可。

3、具体编码
(1)自定义BroadcastReceiver
自定义一个MyAppInstallReceiver 类继承系统的BroadcastReceiver类,实现其onReceiver方法接收相关广播信息。
通过这其中的信息我们可以获得相关应用的包名而不是名称,所以在应用安装或更新完成时,我们调用自定义的getName方法通过PackageManager去获得对应的应用名称。最后我们通过Toast在屏幕上提示相关信息。

(2)注册广播
广播接收者在注册后才开始监听系统与应用发送的广播消息。注册BroadcastReceiver有两种方式,分别是动态注册和静态注册。
静态注册的广播只要我们的应用安装后就常驻在系统中,即使当我们手机重启也不需要再重新打开我们的应用,所以我们选择采用对我们的自定义广播接收者MyAppInstallReceiver 进行静态注册。
在应用的AndroidManifest.xml的application节点里面定义MyAppInstallReceiver,并设置我们要接收的三种action(安装、卸载、更新):

4、完成截图
在应用安装成功时提示


在应用更新成功时提示


5、下载地址
(包含源码和安装包)
提示:安装应用后需要打开一次,使其可以正常工作。Android开发文档对此的解释是:"Ever since Android 3.1, apps are installed in a stopped state, and require that the user open it at least once before components like your BroadcastReceiver can function. This is for security reasons, to prevent, or at least hamper, malicious program behavior."


您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-4-26 22:33 , Processed in 0.026585 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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