2013-11-14 55 views
5

在我的應用程序中,我創建了一個位圖並將其保存爲SD卡中的JPG圖像。我不希望任何其他應用程序使用此圖像。這在android中可能嗎?任何幫助將不勝感激 。防止其他應用程序訪問存儲在SD卡中的應用程序圖像

+0

Android不允許其他應用程序使用您的數據。沒有什麼是你需要做的。 – Anirudh

+0

但圖像公開可用知道嗎? – hacker

+3

@Anirudh這只是在*內部*存儲,而不是SD卡 – Darkhogg

回答

7

除非您加密該文件,否則無法阻止訪問SD卡上的文件。
(參見外部存儲here部分)

文件保存到外部存儲是世界可讀和可 由用戶修改時,它們能夠使USB大容量存儲傳輸的計算機上 文件。

請考慮把它放在internal storage,那麼你的應用程序將是唯一可以訪問它的應用程序。

另一種選擇是,如果你只需要將它從媒體掃描儀中隱藏起來,就是給它起一個以點開頭的名字(.myfile.jpg),這將使它成爲一個隱藏文件。 (如果您有多個要隱藏的文件,請包含一個名稱爲.nomedia的空文件(請參閱Saving files that should be shared),因此您不必將它們全部重命名)

1

當存儲圖像時,更改圖像的擴展名文件到其他應用程序,所以其他應用程序不會識別它。但是當你想在你的應用程序中使用它時,請將擴展名更改回.bmp或.jpg!

+3

這不會阻止enything - 只是混淆存取權限 – Darkhogg

+0

選中此項,它可能對您有所幫助https://www.addictivetips.com/mobile/how-to-prevent-a-directory-from-being-scanned-by-android -畫廊/ –

1

使用特定於應用程序的數據庫並將圖像保存到SD卡上。然後只有你的應用程序有權訪問我這樣做是爲了加密我的應用程序中的圖像,只是保存一個BASE64編碼的圖像字符串做加密圖形,反之亦然。如果保存圖像文件的字節數組,這也可以工作。

0

方法1 - 創建.nomedia文件。

使用任何文件資源管理器/管理器應用程序(如Astro文件管理器或文件專家),導航到您想要隱藏的目錄並創建一個名爲「.nomedia」的空文件。一種方法是:

將現有文本(.txt)或甚至圖像(.jpg/.jpg)文件複製到所述目錄中, 在文本編輯器中打開它(按住文件並從上下文菜單中選擇適當的選項,出現), 刪除其內容(按住文本,全選並刪除),保存更改並退出, 將其重命名爲「.nomedia」(再次按住文件並從其上下文菜單中選擇重命名)。 此方法會禁用所選目錄上的媒體掃描,導致Gallery在啓動時完全跳過目錄。

enter image description here

相關問題