监听App的安装和卸载
2016-09-08 18:11
387 查看
Android系统中,当应用程序安装和卸载的时候都会发送相应的广播,定义一个 BroadcastReceiver 来接收相应的广播,即可监听应用的安装和卸载:
<receiver
android:name=".MyReceiver"
android:enabled="true"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.PACKAGE_ADDED"/>
<action android:name="android.intent.action.PACKAGE_REMOVED"/>
<data android:scheme="package" />
</intent-filter>
</receiver>
public class MyReceiver extends BroadcastReceiver {
public MyReceiver() {
}
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getAction().equals(Intent.ACTION_PACKAGE_ADDED)) {
String packageName = intent.getDataString();
Log.d("TEST", packageName);
}
if (intent.getAction().equals(Intent.ACTION_PACKAGE_REMOVED)) {
String packageName = intent.getDataString();
Log.d("TEST", packageName);
}
}
}
这里有至关重要的一点就是在 Manifest 文件中注册 BroadcastReceiver 时必须在 inter-filter 里面添加 <data android:scheme="package" /> ,否则无法接收到广播
<receiver
android:name=".MyReceiver"
android:enabled="true"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.PACKAGE_ADDED"/>
<action android:name="android.intent.action.PACKAGE_REMOVED"/>
<data android:scheme="package" />
</intent-filter>
</receiver>
public class MyReceiver extends BroadcastReceiver {
public MyReceiver() {
}
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getAction().equals(Intent.ACTION_PACKAGE_ADDED)) {
String packageName = intent.getDataString();
Log.d("TEST", packageName);
}
if (intent.getAction().equals(Intent.ACTION_PACKAGE_REMOVED)) {
String packageName = intent.getDataString();
Log.d("TEST", packageName);
}
}
}
这里有至关重要的一点就是在 Manifest 文件中注册 BroadcastReceiver 时必须在 inter-filter 里面添加 <data android:scheme="package" /> ,否则无法接收到广播
相关文章推荐
- Android开发艺术探索--第二章IPC机制(3)之Android中的IPC方式
- android 开发之坑系列_实体序列化问题
- 与adb相关的问题,比如掉线问题、Android Studio 提示Session 'app':Error Installing APK、找不到设备
- Android Studio提交库至Bintray jCenter从入门到放弃
- Android Studio提交库至Bintray jCenter从入门到放弃
- ios 字体设计
- iOS核心动画keypath
- android屏幕监听,手机是否处于锁屏状态,在锁屏之上弹出Toast.makeText消息
- iOS页面禁止侧滑返回
- [绍棠] iOS中 iOS10 权限崩溃问题
- Objective-C新特性__nonnull和__nullable
- Android 百度地图打包后获取不到地址问题
- IOS 获取当前对象所在的VC
- iOS开发问题:系统提示框是否同意获取当前位置提示框自动消失问题
- JeeWx_2.4.2 版本发布,免费开源微信管家系统
- App开发流程之加密工具类
- iOS开发中遇到的一个错误
- IOS 计时器暂停和开始 防止重复点击
- swift 图表 chart
- [Android]之一:Android系统下载管理DownloadManager