在android中清除包时,无法调用onReceive()

时间:2014-03-24 14:06:15

标签: android

我正在使用此代码注册包

的广播接收器
<receiver
  android:name="com.abc.abc.activity.Receiver"
  android:exported="true" >
     <intent-filter>
         <action android:name="android.intent.action.PACKAGE_ADDED" />
         <action android:name="android.intent.action.PACKAGE_REMOVED" />
         <action android:name="android.intent.action.PACKAGE_DATA_CLEARED" />
         <category android:name="android.intent.category.DEFAULT" />
         <data android:scheme="package" />
        </intent-filter></receiver>

但是当我清除应用程序的数据时,我没有被调用

任何人都可以帮助我 在此先感谢。!

2 个答案:

答案 0 :(得分:3)

我现在测试了它,并且使用此代码对我有用:

<receiver android:name=".permission_policy.AppInstallRemoveReceiver">
             <intent-filter android:priority="100">
                  <action 
android:name="android.intent.action.PACKAGE_INSTALL"/>
                  <action 
android:name="android.intent.action.PACKAGE_ADDED"/>
                  <action 
android:name="android.intent.action.PACKAGE_DATA_CLEARED"/>
                  <action 
android:name="android.intent.action.PACKAGE_REMOVED"/>
                  <data android:scheme="package"/>
             </intent-filter>
         </receiver>

答案 1 :(得分:0)

来自android.intent.action.PACKAGE_DATA_CLEARED上的Android SDK documentation

  

请注意,已清除的包不会收到此广播

因此,您似乎不会被告知您自己的数据已被清除。