簡體   English   中英

如何防止在設置中明確共享首選項

[英]How to prevent a shared preference from being clear in setting

我不想讓設置清除我的應用程序sharedPreference任何人:這可能嗎?

嘿伙計,我在這里找到了一個答案是一種防止數據從共享首選項中清除的方法

android:manageSpaceActivity=".ActivityOfMyChoice"添加到您的 Manifest 的application標簽中,例如:

    <application android:label="MyApp" android:icon="@drawable/icon" 
                 android:manageSpaceActivity=".ActivityOfMyChoice">

然后不是"Clear Data" ,而是"Manage Space"按鈕,它啟動ActivityOfMyChoice

它將調用我的活動,活動在創建時完成:)

public class ActivityOfMyChoice extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        finish();

    }
}

現在,您可以隨意按“管理空間”! :)

這種方法在 100% 的情況下都有效。

我發現了這個類似的問題

卸載應用程序時,將刪除未保存到 SD 卡的共享首選項和文件。

SD 卡中保存的文件在卸載后仍會保留,但用戶可以隨意讀取、覆蓋和刪除這些文件。

如果您需要真正的永久存儲,最好的方法是將數據遠程存儲在您控制的服務器上。

如果您不關心數據,那么您可以將其保存在 SD 卡上。

編輯

我認為 BFil 對這篇文章的回答非常好,請查看。

我的最終判決

經過長時間的研究(為了我純粹而瘋狂的好奇心!),沒有辦法(目前?)在清除設置后保留SharedPreference :唯一的方法是服務器保險庫或數據備份

在宣言中添加這個標簽allowClearUserData=false。 此代碼已驗證。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM