在android系统中,安装和卸载都会发送广播,当应用安装完成后系统会发android.intent.action.PACKAGE_ADDED广播。
可以通过intent.getDataString()获得所安装的包名。当卸载程序时系统发android.intent.action.PACKAGE_REMOVED广播。
同样intent.getDataString()获得所卸载的包名。
在安卓APP项目开发中,我们有这样的需求:
APP安装更新完成后,需要把 APK 文件删除
这里,我们可以通过安卓四大组件之一 —— 广播-接收器,来助阵。
广播有动态注册和静态注册两种方式,此处用静态注册方式。
在 AndroidManifest.xml 文件中静态注册广播接收器:
1 | <receiver android:name="具体包名.广播接收器名" |
几个 intent-filter name 相信从名字就能知道什么意思了。
PACKAGE_ADDED 接受包被添加时发送的广播
PACKAGE_REPLACED 接受包被替换时发送的广播
PACKAGE_REMOVED 接受包被移除时发送的广播
安卓系统在我们安装或卸载APP等操作时,会发送以上的一些广播包,我们这里设个接收器来”监听“这些操作的发生。
新建一个类,继承自 BroadcastReceiver,重写 onReceive 方法,具体逻辑处理可在此书写。
1 | import android.content.BroadcastReceiver; |