android not receiving Intent ACTION_PACKAGE_REMOVED in the removed package
当我的Android应用程序被删除时,我还想删除该应用程序在SD卡上创建的文件,因为这些文件可能会消耗许多兆字节,并且只能用于我的应用程序。
似乎接收被删除的包的意图就是这样做的地方。但是,我的广播接收器从未被调用——它似乎在发送删除包的意图之前被删除了。
代码是:
1 2 3 4 5 6 7 8 | public class UninstallReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { String action= intent.getAction(); Log.i("U","ACTION" + action); etc. } } |
在舱单上:
1 2 3 4 5 6 7 8 9 10 | <application android:debuggable="true" android:icon="@drawable/icon" android:label="@string/app_name"> <receiver android:name ="com.boom.UninstallReceiver"> <intent-filter> <data android:scheme="package" /> </intent-filter> </receiver> |
文件上说:
The package that is being removed does not receive this Intent.
android 2.2添加了
除此之外,您真正能做的就是在某个地方为用户提供一个菜单选项来进行清理,并希望用户在卸载您之前使用它。
您必须在manifast中添加权限。
1 | <uses-permission android:name="android.permission.BROADCAST_PACKAGE_REMOVED" /> |