2012-06-05 25 views
2

創建後並保存圖像在我的Android應用:安卓:通過我的應用程序保存的圖像不顯示畫廊 - 即使重啓

File dir = new File(Environment.getExternalStorageDirectory(), ".myappname/saved"); 
File imageFile = new File(dir, "IMG" + random() + ".jpg"); 
FileOutputStream out = new FileOutputStream(imageFile); 
bi.compress(Bitmap.CompressFormat.JPEG, 100, out); 

的影像不會在畫廊中顯示 - 即使重新啓動。

更新:我只顯示部分的代碼!我還糾正了在編寫StackOverFlow消息時引入的拼寫錯誤。圖像保存良好 - 我可以查看它們 - 它們只是不顯示在圖庫中。 我剛剛從「.myappname」中刪除了點 - 畫廊沒有顯示圖像。奇怪。正如我所說低於其他應用程序在點文件夾中保存圖像,他們表現出庫:(

+0

我看到'fwdir',我不是這個變量用在' imageFile'。這是你的真實代碼嗎? – ariefbayu

+0

也許你需要改變代碼爲:'文件鏡像文件=新的文件(FWDIR,「IMG」 +隨機()+「.JPG」);' – ariefbayu

+0

我認爲,這些問題的答案將會有助於你 http://stackoverflow.com /問題/ 2170214 /圖像保存到SD卡 - 犯規 - 出現功能於機器人畫廊 - 應用程序嗎?RQ = 1 – BAZTED

回答

1

在SD卡/保存文件「一些folde R」將在畫廊反映,畫廊的應用程序不顯示了私人空間的圖像。通過用前綴的文件夾名稱」刪除從目錄中的名稱,因爲它會被隱藏的文件夾

+0

我不認爲imgae在SD卡/文件夾將反映Android的原生圖庫。一個應該爲MediaScannerConnection。 –

0

您正在創建一個隱藏的文件夾 - :更改下面代碼

File fwdir = new File(Environment.getExternalStorageDirectory(), "myappname/saved"); 

編輯的線。 「(期間)媒體掃描器會忽略這個,至少這是我在手動執行相同操作時看到的行爲,我沒有通過代碼嘗試過它在這個崗位http://www.makeuseof.com/tag/hide-private-picture-folders-gallery-android/

+0

謝謝。我現在意識到這是點。在發佈這個問題之前,我實際上已經考慮過這個問題,但是由於其他圖像應用程序將文件保存在以「。」開頭的文件夾中。並在畫廊中展示。很奇怪。您不知道如何將圖像保存在「。」中。前綴文件夾,仍然讓他們在畫廊中顯示? – user1436889

+0

我認爲(並希望!)這是不可能的,作爲一名Android手機用戶,如果我試圖隱藏文件夾並將其顯示在畫廊中,我會很不高興。我幾天前在我的手機上做了這個:) – SidJ

0

寫此功能在您的活動......

私人無效SCANFILE(字符串路徑){

 MediaScannerConnection.scanFile(MainActivity.this, 
       new String[] { path }, null, 
       new MediaScannerConnection.OnScanCompletedListener() { 

        public void onScanCompleted(String path, Uri uri) { 
         Log.i("TAG", "Finished scanning " + path); 
        } 
       }); 
    } 

,然後調用這個函數,其中您保存圖片

scanFile(yourFile.getAbsolutePath()); 
相關問題