我想在单击照片时显示图像并在我的Imageview上设置,而无需用户选择是否....
我正在研究更多,我也非常清楚相机应用程序本身使您能够查看/重新拍摄图像,一旦图像被接受,活动就会显示它。但我希望不经审查/重拍活动显示它.....
我正在尝试此代码
用来初始化
Uri mImageCaptureUri;
点击按钮
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra(MediaStore.EXTRA_SCREEN_ORIENTATION, ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
File file = new File(Environment.getExternalStorageDirectory(),
"tmp_avatar_" + String.valueOf(System.currentTimeMillis()) + ".jpg");
mImageCaptureUri = Uri.fromFile(file);
try {
intent.putExtra(MediaStore.AUTHORITY, true);
intent.putExtra("return-data", true);
intent.putExtra(MediaStore.EXTRA_OUTPUT, mImageCaptureUri);
startActivityForResult(intent, PICK_FROM_CAMERA);
} catch (Exception e) {
e.printStackTrace();
}
onActivityResult
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
Bitmap bitmap = null;
mPath = mImageCaptureUri.getPath();
System.out.println("THE PAtH:_" + mPath);
BitmapFactory.Options o2 = new BitmapFactory.Options();
bitmap = BitmapFactory.decodeFile(mPath, o2);
ivSelfie.setImageBitmap(bitmap);
}
当我点击照片时,我点击此屏幕选择是或否......
但我的要求不是选择评论/重拍任务,只需点击并设置即可在活动显示屏上直接设置为ImageView .....
答案 0 :(得分:4)
实际上确认拍摄照片非常有用。但是,如果您真的不想拥有它,则必须在应用程序中使用SurfaceView并在此处显示相机流。有一些示例如何做,例如考虑检查one。
答案 1 :(得分:3)
使用方法setImageURI()
它将从uri获取位图并为您设置。
是的,它会设置用户按ok
或cancel
的图像天气,因为您的文件在启动意图时存在于您指定的路径上。
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == PICK_FROM_CAMERA) {
// only one line code
ivSelfie.setImageURI(mImageCaptureUri);
}
}
答案 2 :(得分:2)
你无法避免那个屏幕。原因是当您使用新的MediaStore.ACTION_IMAGE_CAPTURE
时,您正在使用其他相机应用程序来单击图像。显示此屏幕可能是该屏幕的默认功能。根据相机应用,此屏幕在不同设备中会有所不同。
所以要摆脱这一点,你唯一能做的就是实现你的自定义相机,而不是使用默认的相机应用程序。
答案 3 :(得分:1)
答案 4 :(得分:0)
将“ android.intent.extra.quickCapture”用于图片用途。
// File ImagePickerModule.java#248
cameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
cameraIntent.putExtra("android.intent.extra.quickCapture",true);
有关详细信息,请参见https://github.com/react-native-community/react-native-image-picker/issues/647。