Ok vì vậy đây đây là mục đích tôi đang gửionActivityResult trả về với dữ liệu = null
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
fileUri = getOutputMediaFileUri(MEDIA_TYPE_IMAGE); // create a file to save the image
intent.putExtra(MediaStore.EXTRA_OUTPUT, fileUri); // set the image file name
startActivityForResult(intent, REQUEST_CODE);
Và sau đó trong onActivityResult tôi đang làm điều này:
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
Log.i("Intent name:",data.toString());
if (requestCode == REQUEST_CODE){
if (resultCode == Activity.RESULT_OK){
Toast.makeText(this, "Image saved to \n" + fileUri.toString() , Toast.LENGTH_LONG).show();
Toast.makeText(this, "Result Code: " + resultCode , Toast.LENGTH_LONG).show();
//Bitmap mBitMap = BitmapFactory.decodeFile(data.getData().toString());
//imageView.setImageBitmap(mBitMap);
}
else if (resultCode == RESULT_CANCELED){
Toast.makeText(this, "Capture Cancelled", Toast.LENGTH_LONG).show();
}
else {
Toast.makeText(this, "Capture failed", Toast.LENGTH_LONG).show();
}
}
super.onActivityResult(requestCode, resultCode, data);
}
Các LogCat đang hiển thị một NullPointerException tại dòng có nội dung Hình ảnh đã lưu ....
Và điều này:
java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=100, result=-1, data=null}
Điều này xảy ra nếu tôi cố gắng sử dụng đối tượng data
hoặc trường fileUri
của lớp học của tôi.
Tại sao dữ liệu được trả về null
?
Tại sao nó mặc dù tôi đang sử dụng một lĩnh vực của lớp tôi vẫn nhận được cùng một lỗi?
R u không sử dụng getIntent() để truy cập MediaStore.EXTRA_OUTPUT trong kết quả onActivity –
không. không chắc chắn cách sử dụng nó. Bạn có thể cho tôi một đoạn mã không? – prometheuspk
intent.putExtra (MediaStore.EXTRA_OUTPUT, fileUri); Trong Result_OK của Activity sử dụng Uri u = data.getData(); để có được uri Ngoài ra hãy chắc chắn fileUri là Uri không phải tên tập tin .. –