我想阻止我的文件被用戶或任何其他應用程序刪除。在這個文件中,我必須保存一個很長的值和一些信息。我已經使用了SharedPreferences
和SQLite
數據庫來存儲這些信息。但我注意到,如果我的應用程序得到卸載或清除數據,數據庫或SharedPreferences
也被刪除。現在我正在考慮將數據保存在該文件中,並保護它免受任何類型的刪除。這樣即使在卸載後,我的應用程序也可以隨時恢復數據。可能嗎?即使在Android中卸載應用程序後,如何防止文件被刪除?
回答
您能夠做的最好的事情就是將數據保存爲Android文件系統上的文件。你需要寫外部存儲許可添加到您的清單:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
退房的Android文件API在這裏:http://developer.android.com/reference/java/io/File.html
這是比較簡單的。您需要將文件保存在卸載應用程序時不會被刪除的地方,因此可能位於SD卡上的文件夾中。
但是,並不能保證用戶或其他應用程序(儘管我不知道有多少應用程序會刪除任意文件)不會手動刪除文件。如果您確實需要保證超持久性,那麼我建議將這些文件存儲在雲端或服務器上。
你能否提供一些雲存儲教程。我看過一些代碼。但我不清楚。 – 2015-02-05 18:56:46
這將涉及更多,並將取決於您想要實現的目標。你最好的選擇是將文件存儲在某個地方的服務器上,以某種方式與用戶相關聯(可能是他們的用戶帳戶或他們的設備ID)。如果你只是想恢復用戶設置或類似的東西,那麼存儲在設備上應該適合你的需求。 如果323go是正確的,並且您嘗試創建類似「試用期」的內容,那麼使用服務器進行身份驗證比嘗試在客戶端執行所有操作要好得多。 – gcgrant 2015-02-05 19:02:26
- 1. Visual Studio:如何在卸載時防止文件被刪除
- 2. 如何刪除一個文件的卸載android應用程序?
- 3. 如何防止應用程序被卸載?
- 4. 如何在卸載時刪除應用程序文件夾
- 5. 如何在卸載應用程序時刪除文件
- 6. Android - Sqlite數據庫文件在卸載應用程序時未被刪除?
- 7. 防止卸載的應用程序
- 8. 如何在C#.NET應用程序中卸載時刪除文件夾?
- 9. 如何在卸載應用程序時從SDcard中刪除文件
- 10. 如何在卸載時從應用程序數據目錄中刪除文件?
- 11. Android刪除應用程序卸載小部件
- 12. 卸載msi刪除應用程序
- 13. 如果用戶卸載Android應用程序,哪些數據將被刪除
- 14. 如何從Android上卸載應用程序後刪除本地存儲數據
- 15. 如何防止自動卸載應用程序?
- 16. 捕獲應用程序在iPhone中刪除或卸載事件
- 17. 如何防止文字被刪除
- 18. Android - 保存或刪除應用程序在卸載時創建的文件
- 19. 如何防止Wix在卸載時刪除註冊表項?
- 20. 如何在android應用程序卸載時從sdcard中刪除數據?
- 21. 如何在卸載黑莓應用程序時刪除文件夾
- 22. 如何在卸載應用程序時刪除臨時文件夾
- 23. 如何在卸載應用程序時刪除數據?
- 24. 如何防止應用程序在WinRT中使用文件
- 25. 即使應用程序進入後臺,如何下載文件?
- 26. 防止文件被刪除和更改
- 27. 如何防止程序可能已在Vista中被卸載信息?
- 28. 如何防止應用程序被安裝在Android手機上
- 29. 應用程序應該在卸載時刪除防火牆規則嗎?
- 30. 在android中卸載應用程序?
爲了在卸載後保留下來,您應該將數據保存在外部存儲上,但無法防止用戶刪除或格式化數據。 – 2015-02-05 18:33:11
聽起來就像你試圖執行一些持續的許可或試用期。如果你想創建一個永久性的值,你就不得不離開你的應用的沙箱;在最近的Android版本中,訪問外部存儲已經受到了很大的阻礙。您可能想要跟蹤這些值,而不是設備。 – 323go 2015-02-05 18:33:49
只需複製服務器上的信息。 – 2015-02-05 18:35:10