2011-06-30 46 views
5

我面臨的問題:ACTION_IMAGE_CAPTURE意圖的行爲取決於硬件製造商。美麗的方式來過ACTION_IMAGE_CAPTURE的問題

我認爲,從相機插入照片庫照片必須是類似以下

然後得到的URI onActivityResult,最好的辦法:

switch (requestCode) { 
    case CAPTURE_IMAGE_REQUEST: { 
     if(resultCode == Activity.RESULT_OK) { 
       Uri uri = intent.getData();// content uri of photo in media gallery 
       //do something with this 
     } 
     break; 
    } 

但我看到,這在許多設備上不起作用;此外,我發現的攝像頭應用程序行爲幾種不同的情況:

  • 一些設備有bug與此事件,所以沒有辦法讓fullsized的照片,你可以使用tmp文件在公共目錄中獲取512像素寬的照片只
  • 某些設備(包括我的)將拍攝的照片插入畫廊,但不返回Uri。 (getData()返回null,intent extras只有布爾鍵'specify-data',value = true)如果我試圖通過public tempfile獲取照片,則照片將被插入到gallery和tempfile中。
  • 一些設備不插入拍攝照片廊 - 我必須做手工
  • 我不知道,但可以有不同scenarious

那麼,有沒有在管理此類問題的最佳實踐覆蓋範圍廣泛的設備和製造商?

在這種情況下,我需要從相機拍攝照片,將其插入到相冊中,然後在相冊中獲取照片的uri。

回答

0

其中的一部分已經回答了:

我不認爲你應該檢查其他情況。谷歌和Android的OEM監測這些問題,所以報告他們,並希望他們將被修復。

+2

問題仍然沒有解決.. – Arseniy

+1

@muzhig大多數錯誤是固定的,但運營商不會讓OEM推出升級。 – Reno