我正在編寫別人寫的一些代碼,並且在處理照相機意圖的結果時遇到問題。Camera onActivityResult片段
基本上我有一個DashBoardActivity它包含一個名爲「MyProfileContainer」的片段,其中包含一個「SettingsFragment」片段,其中包含「EditProfileFragment」片段。
在EditProfileFragment中,用戶可以爲他的個人資料拍照。它可以工作,但它會在儀表盤活動中調用onActionResult。
我閱讀了一些關於如何將其重定向到EditProfileFragment的指南,但我一直無法做到。 我真的在這一天失去了幾天,我無法弄清楚。
這是onActivityResult儀表板上的活動
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
}
這是EditProfileFragment
private Uri imageUri = null;
public void captureImage() {
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
File photo = new File(Environment.getExternalStorageDirectory(), "Pic.jpg");
intent.putExtra(MediaStore.EXTRA_OUTPUT,
Uri.fromFile(photo));
imageUri = Uri.fromFile(photo);
getParentFragment().startActivityForResult(intent, 100);
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 100 && resultCode == Activity.RESULT_OK) {
Uri selectedImage = imageUri;
getActivity().getContentResolver().notifyChange(selectedImage, null);
ContentResolver cr = getActivity().getContentResolver();
Bitmap bitmap;
try {
bitmap = android.provider.MediaStore.Images.Media
.getBitmap(cr, selectedImage);
profilePhoto.setImageBitmap(bitmap);
Toast.makeText(getActivity(), selectedImage.toString(),
Toast.LENGTH_LONG).show();
} catch (Exception e) {
Toast.makeText(getActivity(), "Failed to load", Toast.LENGTH_SHORT)
.show();
Log.e("Camera", e.toString());
}
}
}
我不知道如果我要覆蓋的方法對每類這兩個或者如果我之間我在做別的事情不對,但我確定EditProfileFragment onActivityResult從不會被調用。