ACTION_PACKAGE_REMOVED接收不到

今天写了一个监听App卸载的广播接收器,发现在自定义Receiver中始终无法接收到广播,如下代码:

        IntentFilter filter = new IntentFilter();
        filter.addAction(Intent.ACTION_PACKAGE_REMOVED);
        registerReceiver(new UnInstalledReceiver(), filter);

在网上查询了一番,有的人说是权限问题,需要在AndroidManifest.xml中添加如下权限

<uses-permission android:name="android.permission.BROADCAST_PACKAGE_REMOVED" />

但是这个权限是系统级别APP才有的权限,虽然我们可以在eclipse或者AS中通过修改Lint Error的方式规避掉此问题,但是加上权限之后,发现还是无法正常接收到广播,几经周折才找到了问题解决办法

解决方案

不需要添加权限,只需要在注册广播的过滤时添加如下代码即可:

filter.addDataScheme("package");

你可能感兴趣的:(手机方案研发时的心得,互联网开发经验)