我正在使用相机意图从活动中拍摄照片,如下面的代码所示,但是我需要在onActivityResult()方法之外使用捕获的图像位图,但这无法正常工作,我试图在方法之外声明位图然后在方法之外使用,但这没有用,似乎位图没有在onActivityResult中捕获图像,因此任何人都可以帮助在方法之外使用捕获图像的位图或保存它并获取其路径就像使用从图库中选择图像一样,所以我的目标是在onActivityResult()方法之外将捕获图像的位图用于图像处理,下面是我的代码,谢谢
captureButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (checkSelfPermission(Manifest.permission.CAMERA)
!= PackageManager.PERMISSION_GRANTED) {
requestPermissions(new String[]{Manifest.permission.CAMERA},
MY_CAMERA_PERMISSION_CODE);
} else {
Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(cameraIntent, CAMERA_REQUEST);
}
}
});
以及onActivityResult()方法:
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == CAMERA_REQUEST && resultCode == Activity.RESULT_OK) {
Bitmap photo = (Bitmap) data.getExtras().get("data");
imageSelected.setImageBitmap(photo);
}
}
答案 0 :(得分:2)
我尝试了此步骤,对我有用
1)在onCreate
方法(如波纹管
Bitmap photo;
2)代替Bitmap photo = (Bitmap) data.getExtras().get("data");
中的onActivityResult
编写下面的代码
photo = (Bitmap) data.getExtras().get("data");
然后您就可以在自己喜欢的活动中的任何地方访问照片对象