回答

0

可以使用BroadcastReceiver

一下添加到Manifest

<receiver android:name=".DeleteReceiver"> 
    <intent-filter> 
     <action android:name="android.intent.action.PACKAGE_REMOVED" /> 
     <data android:scheme="package"/> 
    </intent-filter> 
</receiver> 
後刪除一個應用程序共享偏好

BroadcastReceiver

public class DeleteReceiver extends BroadcastReceiver { 
    @Override 
    public void onReceive(Context context, Intent intent) { 
     //remove preferences 
     SharedPreferences settings = context.getSharedPreferences("PreferencesName", Context.MODE_PRIVATE); 
     settings.edit().clear().commit(); 
    } 
} 

更新:經過一番研究,我發現你cannot receive something when your app is deleted

被刪除的軟件包未收到此Intent。

唯一的解決方案是使用第二個應用程序來獲取它。對不起,令人失望。

所以在你的情況下android:allowBackup=「false」只有的方式來刪除設置。

+0

我試過這個,但它不適用於我。我把接收器類保存在所有活動之外是正確的嗎? – Bharath

+0

@Bharath是的,它應該在它自己的文件中分離。你有沒有檢查你的設備是否阻止接收器? – DEADMC

+0

@ DeadMC-我認爲我的設備不會阻止接收器。有什麼方法可以檢查嗎?我是Android開發新手。所以,如果你能給我指針,這將是非常有幫助 – Bharath

相關問題