2012-09-05 114 views
2

我有這樣的代碼,它完全在愛立信XPERIA,但是當我測試在SAMSUNG ACE該應用時,出現錯誤:意圖圖像捕捉數據== NULL

數據= NULL

String file=Environment.getExternalStorageDirectory().getAbsolutePath()+ "/picture.jpg"; 

    Intent i=new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE); 
    Uri output = Uri.fromFile(new File(archivo));   
    i.putExtra(MediaStore.EXTRA_OUTPUT, output); 
    startActivityForResult(i,CAMERA_REQUEST); 

OnActivity結果

if (requestCode==CAMERA_REQUEST && resultCode==RESULT_OK){ 
        Bundle extras=data.getExtras(); 
        bmp=(Bitmap)extras.get("data"); 
        image.setImageBitmap(bmp); 
        image.setVisibility(0); 

任何想法,爲什麼發生這種情況?

回答

4

當您使用EXTRA_OUTPUT並指定文件時,您通常不會通過結果意圖獲取任何圖像數據作爲額外的。相機應用程序應該將數據寫入您指定的文件。

如果您包含額外的內容,則應在您收到RESULT_OK後,從文件中讀取輸出內容。或者您可以刪除EXTRA_OUTPUT以使結果中的數據在所有設備上可靠。請注意,這將返回一個低分辨率圖片,因爲意圖系統不會構建爲傳遞大量數據。

+1

我應該用什麼然後EXTRA_OUTPUT insted? – Neha