2012-02-17 51 views
4

我想使對外部存儲器的文件夾(可以是SD卡上),私有或保護的,只有我的應用程序/進程可以訪問該文件夾。安卓:使外部存儲器上的文件夾私有或受保護

我可以這樣做嗎?如果有,請讓我知道?

我的要求: 我可以使用Android的內置存儲器來存儲我的應用程序的文件/數據,但可能會降低手機的內部存儲器(那可能會導致像沒有其他的應用程序安裝空間不足等問題)

回答

0

由於API 9你有爲此

File.setWritable(boolean, boolean)

,也爲read/exec的操作。看看到鏈接

+0

謝謝,但我有一個從API 7起支持。 – 2012-02-17 19:19:47

+0

我在這裏有一個解決方案 - 如果我們可以在外部存儲器上創建一個名稱爲「。」的文件夾。那麼該文件夾不能被用戶看到(例如:.myAppPrivateFolder),那麼這就滿足了我的要求。說啥!!! – 2012-02-17 19:21:52

+0

用戶無法看到該文件夾​​,但該文件夾仍然存在......恕我直言,這是沒辦法..但似乎沒有解決設置權限,因爲API 9級文件夾..所以嘗試隱藏文件夾,並希望最好:) – Blackbelt 2012-02-19 18:08:09

0

引述的Android文檔:

public abstract File getExternalFilesDir (String type)

自:API級別8返回的絕對路徑上 外部文件系統的目錄(即在 環境某處.getExternalStorageDirectory()),應用程序可以在其中放置它擁有的持久性文件 。

這些文件是私有的 應用程序,而不是通常給用戶的媒體可見。這是 像getFilesDir()中,當 卸載應用程序,這些文件將被刪除[...]

來源:http://developer.android.com/reference/android/content/Context.html#getExternalFilesDir(java.lang.String)

所以基本上你會得到一個私人(八九不離十)文件夾你的SD卡。

使用此結合黑帶的答案更好的效果。

+0

您錯過了文檔中的一個重要事實:_這些文件沒有執行安全性。例如,任何持有WRITE_EXTERNAL_STORAGE的應用程序都可以寫入這些文件._ – OneWorld 2016-05-23 08:51:28

1

外部存儲上的數據不能是私有的。它是世界上可讀的,並且如果它們啓用USB大容量存儲器,則用戶可以改變它。

從developer.android.com報價:

每一個Android兼容設備支持共享「外部存儲」,你可以用它來保存文件。這可以是可移動存儲介質(如SD卡)或內部(不可移動)存儲器。保存到外部存儲的文件是世界可讀的,並且可以在用戶啓用USB大容量存儲器在計算機上傳輸文件時進行修改。

1

你cannot.You可以壓縮文件夾和存儲爲傳遞措辭的zip文件。

+0

哇!超級酷哥,蘇尼爾我們怎麼能這樣做?你可以請分享一些信息 – 2012-02-17 19:25:51

相關問題