0
我的意圖活動開始代碼來打開相機是遵循不能得到像束數據onActivityResult
Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
if (takePictureIntent.resolveActivity(getActivity().getPackageManager()) != null) {
getActivity().startActivityForResult(takePictureIntent, REQUEST_IMAGE_CAPTURE);
}
注: - 此功能是一個類擴展dialogfragment
類
我OnActivityResult
方法,這是在活動類,是如下
public void onActivityResult(int requestCode, int resultCode, Intent data) {
Log.d("sdf",""+data);
if (requestCode == REQUEST_IMAGE_CAPTURE && resultCode == RESULT_OK) {
mimageView = (ImageView) findViewById(R.id.profileimageView4);
Bundle extras = data.getExtras();
Bitmap imageBitmap = (Bitmap) extras.get("data");
//mimageView.setImageBitmap(imageBitmap);
}
}
在日誌中表示的誤差如下
java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=2, result=-1, data=Intent { dat=content://media/external/images/media/22615 flg=0x1 }} to activity {www.vyrazu.com.purpleknights/www.vyrazu.com.purpleknights.Profile}: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.Object android.os.Bundle.get(java.lang.String)' on a null object reference
這段代碼有什麼問題,感謝大家的時間。
你的'startActivityForResult()'正在使用'REQUEST_IMAGE_CAPTURE'。你的'onActivityResult()'使用'REQUEST_IMAGE_CAPTURE_FROM_GALLERY'。這些不一樣。因此,你的'onActivityResult()'代碼不會從'startActivityForResult()'處理這個特定的結果。 – CommonsWare
'Bundle extras = data.getExtras();'。沒有額外功能,所以'extras'將爲空。當它爲空時不要使用「額外」。現在你有一個'NullPointerException'在日誌中清晰可見。你可能已經格式化了這個字符串,因爲現在你迫使我們無休止地滾動。 – greenapps
@CommonsWare感謝您的觀察。但是這是從圖庫部分挑選圖像。基本上都是相同的。我正在編輯問題.sorry – Debojyoti