自定义相机预览 Android
Custom Camera Preview Android
我正在尝试创建自定义相机预览,就像 WhatsApp 使用的一样。为了说明问题,我在下面添加了一张图片:
我正在使用以下代码打开相机 activity:
imgCamera.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
File file = new File(path);
Uri outputFileUri = Uri.fromFile(file);
Intent intent = new Intent(
android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra(MediaStore.EXTRA_OUTPUT, outputFileUri);
startActivityForResult(intent, 2);
}
});
并尝试以下显示预览:
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == 2 && resultCode == Activity.RESULT_OK) {
Intent startPreview = new Intent(this.getContext(), PreviewActivity.class);
startPreview.putExtra("path", path);
startActivity(startPreview);
}
super.onActivityResult(requestCode, resultCode, data);
}
但是,它没有显示我的预览自定义 activity。显示的是普通的。
有人可以帮我吗?
谢谢
它不会显示您的 activity,因为您指定的意图是 ACTION_IMAGE_CAPTURE,其中规定:
Standard Intent action that can be sent to have the camera application capture an image and return it.
如果您自定义 activity 来处理相机 capture/preview/etc。你需要调用 new Intent(Context, YourActivity.class)
我正在尝试创建自定义相机预览,就像 WhatsApp 使用的一样。为了说明问题,我在下面添加了一张图片:
我正在使用以下代码打开相机 activity:
imgCamera.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
File file = new File(path);
Uri outputFileUri = Uri.fromFile(file);
Intent intent = new Intent(
android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra(MediaStore.EXTRA_OUTPUT, outputFileUri);
startActivityForResult(intent, 2);
}
});
并尝试以下显示预览:
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == 2 && resultCode == Activity.RESULT_OK) {
Intent startPreview = new Intent(this.getContext(), PreviewActivity.class);
startPreview.putExtra("path", path);
startActivity(startPreview);
}
super.onActivityResult(requestCode, resultCode, data);
}
但是,它没有显示我的预览自定义 activity。显示的是普通的。
有人可以帮我吗?
谢谢
它不会显示您的 activity,因为您指定的意图是 ACTION_IMAGE_CAPTURE,其中规定:
Standard Intent action that can be sent to have the camera application capture an image and return it.
如果您自定义 activity 来处理相机 capture/preview/etc。你需要调用 new Intent(Context, YourActivity.class)