2012-06-26 53 views
2

我有一個應用程序,允許用戶使用手機的本機相機拍照,我不想實現相機的所有功能(我不想失去自動對焦,閃光燈或其他一些性質本機攝像頭可能有),所以我做這樣的判斷:避免畫廊保存在Android的相機拍攝的照片

File folder = new File(Environment.getExternalStorageDirectory(),"folder"); 
    folder.mkdirs(); 
    File nomedia = new File(folder,".nomedia"); 
    try{ 
     nomedia.createNewFile(); 
    }catch (IOException e){ 
     e.printStackTrace(); 
     Log.e("error", e.getMessage()); 
    } 

    File file = new File(folder,"image.jpeg"); 
    try { 
     file.createNewFile(); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 
    imageUri = Uri.fromFile(file); 
    if(imageUri != null){ 
     Log.i(TAG, "imageUri: " + imageUri.getPath()); 
     imageIntent.putExtra(MediaStore.EXTRA_OUTPUT, imageUri); 
    } 

然後在一個按鈕,我有意向的執行:

startActivityForResult(imageIntent, CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE); 

這很好用,它打開相機,我收到回調時,如果我用手機的文件瀏覽器查看文件夾,我可以看到圖片以及我創建的「.nomedia」文件。

事情是,我不希望相機將這個圖像存儲在手機的畫廊,因爲,不知何故這是「神奇」;)添加到Android的畫廊,我認爲與添加「。 nomedia「文件並在單獨的文件夾中創建圖片,Gallery不會對其進行掃描。這個想法是,圖片只用於應用程序的內部使用。

有沒有辦法避免這種情況?我真的搜索並嘗試許多不同的方式,但我無法解決它。

我希望我的解釋清楚。

在此先感謝!

+0

我知道這可能沒有幫助。但我前一段時間遇到同樣的問題,不得不放棄。如果我沒有記錯的話,我嘗試過的一種方式是將圖片移動到應用程序專用存儲中,並阻止了圖庫的顯示,但這也阻止了自動縮略圖的創建。 –

+0

嘗試添加句點'。'到您要存儲圖片的文件夾的前面。例如,在您的示例中,嘗試切換到「.folder」作爲您的目錄名稱。你還測試了什麼設備? – FoamyGuy

+0

我累了,但沒有幫助@Tim,我使用的是Galaxy S Plus,但我在HTC Wildfire中也遇到了同樣的問題。 – Kuu

回答

相關問題