1

我卡住了,所以我希望有人可以幫助:)我有一個活動,我可以從圖庫中加載圖像,然後顯示在屏幕上。在該屏幕上,我可以選擇刪除該圖像。當我選擇刪除圖像的選項時,圖像被成功刪除,但當我選擇加載其他圖像時,圖像仍顯示在圖庫中。因此,用戶仍然可以從圖庫中選擇舊圖片,但在這種情況下,它不會顯示在屏幕上,因爲它已被刪除。圖片被刪除後如何刷新圖庫?Android模擬器:如何以編程方式刷新圖庫?

我已經試過這一點,但現在看來,這不工作:

sendBroadcast(new Intent(
      Intent.ACTION_MEDIA_MOUNTED, 
      Uri.parse("file://" + Environment.getExternalStorageDirectory()))); 

我想手動掃描避免SD卡每次當我刪除一些圖像的時間。

回答

0

問題是我刪除時傳遞圖像URI而不是絕對路徑,所以它不成功。代碼應該看起來像這樣。

File file = new File("some URI I received as a result of one method") 
path = file.getAbsolutePath(); 
File f = new File(path); 
    if (f.exists()) { 
     if (f.delete()) { 
      Log.w("DELETED","file Deleted"); 
     } else { 
      Log.w("NOT DELETED","file not Deleted"); 
     } 
    } 

    sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED, 
      Uri.parse("file://" + Environment.getExternalStorageDirectory()))); 

    imageViewField.setImageBitmap(null); 

所以,該方法的作品,但文件並沒有被刪除,所以它仍然在畫廊。

4
sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED, 
     Uri.parse("file://" + Environment.getExternalStorageDirectory()))); 

我在froyo中使用上面的代碼,結果代碼在froyo中工作正常。

+0

此解決方案更新圖庫內容,因此適用於我。 – Siddharth

+0

簡單但很棒,解決了我很長的時間問題! – Nezneika

相關問題