安卓应用的安装与卸载监听方法
来源:互联网 发布:婵真银杏 知乎 编辑:程序博客网 时间:2024/06/08 06:06
对于安卓应用,在安装与卸载时,系统都会发出对应测广播,我们要做的就是注册相应的广播,在广播的onReceiver()方法中处理我们想要做的逻辑。
具体如下:
1.在MainActivity的onCreate()方法中动态注册广播:
安装对应的Action为:android.intent.action.PACKAGE_ADDED;
卸载对应的Action为:android.intent.action.PACKAGE_REMOVED;
//监听安装与卸载的广播
installedReceiver = new BootReceiver();
IntentFilter filter = new IntentFilter();
filter.addAction(“android.intent.action.PACKAGE_ADDED”); //安装
filter.addAction(“android.intent.action.PACKAGE_REMOVED”); //卸载
filter.addDataScheme(“package”);
this.registerReceiver(installedReceiver, filter);
2.写一个类继承自BroadCastReceiver,然后在需要重写的onReceiver()方法中写自己的逻辑:
public class BootReceiver extends BroadcastReceiver{
@Override public void onReceive(Context context, Intent intent){ //接收安装广播 if (intent.getAction().equals("android.intent.action.PACKAGE_ADDED")) { String packageName = intent.getDataString(); Log.d(TAG, "安装了新应用="+packageName); Toast.makeText(context, "安装了新应用="+packageName, Toast.LENGTH_SHORT).show(); mlistAppInfo=queryAppInfo(); Log.d(TAG, "mlistAppInfo-size="+mlistAppInfo.size()); adapter.setData(mlistAppInfo); //将变更后的数据给到adapter adapter.notifyDataSetChanged(); } //接收卸载广播 if (intent.getAction().equals("android.intent.action.PACKAGE_REMOVED")) { String packageName = intent.getDataString(); Log.d(TAG, "卸载了应用="+packageName); Toast.makeText(context, "卸载了新应用="+packageName, Toast.LENGTH_SHORT).show(); mlistAppInfo=queryAppInfo(); //删除数据库中对应的数据行 String[] mStr=packageName.split(":"); int res= mOperateDb.deleteApp(mStr[1]); Log.d(TAG, "删除了数据库中数据 id="+res); Log.d(TAG, "mlistAppInfo-size="+mlistAppInfo.size()); adapter.setData(mlistAppInfo); adapter.notifyDataSetChanged(); } }
}
3.在OnDestroy()中进行解注册:
@Override
protected void onDestroy() {
if(installedReceiver!=null) { unregisterReceiver(installedReceiver); } super.onDestroy();}
- 安卓应用的安装与卸载监听方法
- Android 监听应用的卸载与安装
- 安卓监听apk的安装和卸载
- Android 监听应用的安装与卸载的广播
- Android之监听应用的安装与卸载的广播
- 安卓开发监听程序安装卸载
- 监听应用的安装和卸载
- 监听应用卸载和安装
- Android监听自身被卸载与监听其他应用被卸载、安装
- 应用安装 卸载 更新的监听的特殊解决方案
- 安卓实现卸载平台附带卸载相关的应用
- 图标卸载法,快捷卸载安卓软件的方法
- android获取应用信息,判断应用来源,监听应用的安装和卸载
- 安卓卸载一个应用
- Ubuntu 安装与卸载软件的方法
- Linux软件的安装与卸载方法
- 关于安卓root过手机静默安装与卸载
- android应用卸载后的监听
- java数据结构与算法-二叉树
- 扩增子统计绘图8网络图-MENA
- 欢迎使用CSDN-markdown编辑器
- STL中的string类
- 浅谈框架页与登录页的布局问题
- 安卓应用的安装与卸载监听方法
- 设置本地域名解析
- 第7讲项目3-计算一员工的周工资
- 小范围排序
- 真正准确的“两个日期相差多少天”函数
- 编译安装PHP7并安装Redis扩展Swoole扩展
- 针对分类问题的决策树模型
- server.CreateObject("ADODB.Stream") 方法说明
- 安装theano模块