0
我想在卸載應用程序後刪除sharedpreferences。我不想使用android:allowBackup =「false」選項,因爲我讀到它不推薦用於生產中的應用程序。是否有任何其他的方式,我們可以卸載,同時仍保留備份(在升級)在不使用android的情況下刪除應用程序卸載後的共享偏好設置:allowBackup =「false」
我想在卸載應用程序後刪除sharedpreferences。我不想使用android:allowBackup =「false」選項,因爲我讀到它不推薦用於生產中的應用程序。是否有任何其他的方式,我們可以卸載,同時仍保留備份(在升級)在不使用android的情況下刪除應用程序卸載後的共享偏好設置:allowBackup =「false」
可以使用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」
是只有的方式來刪除設置。
我試過這個,但它不適用於我。我把接收器類保存在所有活動之外是正確的嗎? – Bharath
@Bharath是的,它應該在它自己的文件中分離。你有沒有檢查你的設備是否阻止接收器? – DEADMC
@ DeadMC-我認爲我的設備不會阻止接收器。有什麼方法可以檢查嗎?我是Android開發新手。所以,如果你能給我指針,這將是非常有幫助 – Bharath