2014-03-24 53 views
3

清除我使用這個代碼註冊包無法獲取調用的onReceive()時,包在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> 

廣播接收器,但我沒有得到的時候我清楚我的應用程序的數據叫

任何人都可以幫我 在此先感謝。

回答

3

我現在測試,它是與此代碼爲我工作:在android.intent.action.PACKAGE_DATA_CLEARED

<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> 
+0

嗨,感謝您的回答,但它不適用於我 –

+0

當我清除我安裝在我的手機中的另一個應用程序的數據時,它會調用,但我想在清除我自己的應用程序的數據時調用它 –

+0

In在這種情況下,我能想到的唯一解決方案就是構建一個新的應用程序App-B,在清理應用程序A時發出呼叫 –

0

從Android SDK documentation

注意,清除包不接收此廣播

因此看起來您不會被告知自己的數據已被清除。