单击相机快捷键
Camera Shortcut onClick
简单的问题。是否可以允许按钮(最好是 FAB)打开相机应用程序,有点像快捷方式?此快捷方式可以指向默认相机,也可以指向任何已下载的相机应用程序。
是的,这是可能的。
您可以通过操作 ACTION_IMAGE_CAPTURE
.
创建一个 隐式 意图
例如:
File file = new File(Environment.getExternalStorageDirectory() + "/DCIM/", "image" + new Date().getTime() + ".png");
Uri imgUri = Uri.fromFile(file);
String imgPath = file.getAbsolutePath();
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra(MediaStore.EXTRA_OUTPUT, setImageUri());
startActivityForResult(intent, CAPTURE_IMAGE);
处理结果:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode != Activity.RESULT_CANCELED) {
if (requestCode == CAPTURE_IMAGE) {
Bitmap resultAsBitmap = BitmapFactory.decodeFile(imgPath);
} else {
super.onActivityResult(requestCode, resultCode, data);
}
}
}
PS: 不要忘记在清单文件中添加您的权限。
简单的问题。是否可以允许按钮(最好是 FAB)打开相机应用程序,有点像快捷方式?此快捷方式可以指向默认相机,也可以指向任何已下载的相机应用程序。
是的,这是可能的。
您可以通过操作 ACTION_IMAGE_CAPTURE
.
例如:
File file = new File(Environment.getExternalStorageDirectory() + "/DCIM/", "image" + new Date().getTime() + ".png");
Uri imgUri = Uri.fromFile(file);
String imgPath = file.getAbsolutePath();
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra(MediaStore.EXTRA_OUTPUT, setImageUri());
startActivityForResult(intent, CAPTURE_IMAGE);
处理结果:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode != Activity.RESULT_CANCELED) {
if (requestCode == CAPTURE_IMAGE) {
Bitmap resultAsBitmap = BitmapFactory.decodeFile(imgPath);
} else {
super.onActivityResult(requestCode, resultCode, data);
}
}
}
PS: 不要忘记在清单文件中添加您的权限。