【Android】Android 监听apk安装替换卸载广播
来源:互联网 发布:土豆视频mac客户端 编辑:程序博客网 时间:2024/05/04 12:21
【Android】Android 监听apk安装替换卸载广播
首先是要获取应用的安装状态,通过广播的形式
以下是和应用程序相关的Broadcast Action
ACTION_PACKAGE_ADDED 一个新应用包已经安装在设备上,数据包括包名(最新安装的包程序不能接收到这个广播)
ACTION_PACKAGE_REPLACED 一个新版本的应用安装到设备,替换之前已经存在的版本
ACTION_PACKAGE_CHANGED 一个已存在的应用程序包已经改变,包括包名
ACTION_PACKAGE_REMOVED 一个已存在的应用程序包已经从设备上移除,包括包名(正在被安装的包程序不能接收到这个广播)
ACTION_PACKAGE_RESTARTED 用户重新开始一个包,包的所有进程将被杀死,所有与其联系的运行时间状态应该被移除,包括包名(重新开始包程序不能接收到这个广播)
ACTION_PACKAGE_DATA_CLEARED 用户已经清楚一个包的数据,包括包名(清除包程序不能接收到这个广播)
代码实现
在AndroidManifest.xml中定义广播
<receiver android:name=".AppInstallReceiver" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.PACKAGE_ADDED" /> <action android:name="android.intent.action.PACKAGE_REPLACED" /> <action android:name="android.intent.action.PACKAGE_REMOVED" /> <data android:scheme="package" /> </intent-filter> </receiver>
这里选用的是
ACTION_PACKAGE_ADDED 一个新应用包已经安装在设备上,数据包括包名(最新安装的包程序不能接收到这个广播)
ACTION_PACKAGE_REPLACED 一个新版本的应用安装到设备,替换之前已经存在的版本
ACTION_PACKAGE_REMOVED 一个已存在的应用程序包已经从设备上移除,包括包名(正在被安装的包程序不能接收到这个广播)
再看AppInstallReceiver
public class AppInstallReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { PackageManager manager = context.getPackageManager(); if (intent.getAction().equals(Intent.ACTION_PACKAGE_ADDED)) { String packageName = intent.getData().getSchemeSpecificPart(); Toast.makeText(context, "安装成功"+packageName, Toast.LENGTH_LONG).show(); } if (intent.getAction().equals(Intent.ACTION_PACKAGE_REMOVED)) { String packageName = intent.getData().getSchemeSpecificPart(); Toast.makeText(context, "卸载成功"+packageName, Toast.LENGTH_LONG).show(); } if (intent.getAction().equals(Intent.ACTION_PACKAGE_REPLACED)) { String packageName = intent.getData().getSchemeSpecificPart(); Toast.makeText(context, "替换成功"+packageName, Toast.LENGTH_LONG).show(); } }}
- Android 监听apk安装替换卸载广播
- android 监听apk安装替换卸载广播
- Android 监听apk安装替换卸载广播
- Android 监听apk安装替换卸载广播
- Android 监听apk安装替换卸载广播
- Android 监听apk安装替换卸载广播
- 【Android】Android 监听apk安装替换卸载广播
- 【Android】Android 监听apk安装替换卸载广播
- Android 监听apk安装替换卸载广播的实现代码
- Android 监听apk安装替换卸载广播的实现代码
- Android监听apk安装、卸载、替换的事件类型
- Android监听apk的添加、安装、改变、替换、卸载
- 广播监听apk的安装,卸载和替换
- Android apk安装监听的几个广播
- Android 监听程序的安装、卸载、替换
- Android 代码监控apk安装,卸载,替换
- Android 代码监控apk安装,卸载,替换
- Android 代码监控apk安装,卸载,替换
- 软件
- 程序猿也爱学英语,有图有真相
- php使用session_destroy()显示警告的解决办法
- 闭包的概念、形式与应用
- ACM-DP之最大报销额——HDU1864
- 【Android】Android 监听apk安装替换卸载广播
- 根据数据的父子关系创建树形结构并实现遍历
- android 触屏反馈原理
- 字符串 sizeof & strlen
- Linux grep 匹配不以某个字符开始的行
- 编译飞凌ok335D开发板内核时出现drivers/mfd/ezx-pcap.c:205:2: error: implicit declaration of function 'irq_to_gpio
- 完成端口与高性能服务器程序开发
- 主流ETL工具选型
- ARC指南3 - @property