2014-01-19 11 views
1

我的應用程序是一個照片應用程序。我需要使用用戶的照片(存儲在'虛擬'SD卡或真正的SD卡上)轉到縮略圖並顯示它們。如果用戶點擊縮略圖,我將顯示全尺寸照片(我從其真實位置加載)。如果稍後用戶刪除照片,則我的應用程序只有縮略圖,但無法顯示真實照片。Android,註冊需要的文件,不能刪除

如果我原來的照片複製到我的應用程序的位置或特定文件夾,比它的重複。我的應用使用了大量的照片,因此它是不可持續的(後來用戶因爲存儲佔用而感到惱火,並且可能會刪除應用)。這就是爲什麼我不復印原稿,但是從他們的實際位置,抓住他們

問題: 是否有我註冊到該文件的用戶要刪除我的應用程序需要的OS的方式他們不能刪除它們? (谷歌搜索周圍,似乎是不可能的,但誰知道,值得一試)

感謝

+0

你爲什麼不只是輪詢照片DB 12的罷工每天晚上(使用它在後臺運行服務)來更新你的文件列表? – Skynet

回答

1

是不是我刪除,我不想再看到它的照片的原因是什麼?不管你在你的應用中做什麼,你都不應該做這種限制。

是複製的圖像,並且使用的內存的雙量處理(這仍然不意味着用戶無法刪除這些文件...他們仍然對他可見)或使用的圖片目前在磁盤上,沒有照顧刪除的。

要回答你的問題:它不可能完全地限制圖片的deletement。如果您擁有root權限,則可能會有可能,但即使在那裏,我也不確定如何在用戶可以輕鬆地將sd卡插入計算機時限制寫入/修改/刪除照片。

有可能是設置文件爲只讀(只讀存儲器存儲)的方式。在看看:

How do we copy files and retain their read only attribute in Android?

Attempt to create an readonly file on the android SD card fails

不管怎樣,即使你找到一個方法來解決這個問題 - >你不應該!讓用戶決定他想要刪除的內容!

編輯:另一種方法是實現FileObserver。 收聽圖片文件夾,並在文件被刪除的情況下,複製這個單一的文件。不幸的是,觀察者只會告訴你什麼是已經發生;)

(見How do you implement a FileObserver from an Android Service)。

+1

「是不是我刪除了一張我不想再看到的照片的原因」,否,用戶可能會意外刪除它。 –

+0

Dropbox,SkyDrive,GoogleDrive和其他CloudComputing-Platforms可以保存這些文件給你。無論如何,我用另一種方法更新了我的答案 – Frame91