//获取相机包名
Intent infoIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
List<ResolveInfo> infos = getPackageManager().queryIntentActivities(infoIntent, 0);
if(infos != null && infos.size() > 0) {
for(ResolveInfo info:infos) {
int flags = info.activityInfo.applicationInfo.flags;
if ((flags & ApplicationInfo.FLAG_SYSTEM) != 0) { //系统相机
String packageName=info.activityInfo.packageName;
String className=info.activityInfo.name;
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
ComponentName cn=new ComponentName(packageName, className);
intent.setComponent(cn);
intent.addFlags(Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);
File imgFile = new File(path+"/"+imageName);
Uri uri = Uri.fromFile(imgFile);
intent.putExtra(MediaStore.EXTRA_OUTPUT,uri);
startActivityForResult(intent, REQUEST_CODE_TAKEPHOTO);
return;
}
}
}
android 屏蔽第三方相机
调用系统相机拍照
最新推荐文章于 2024-01-12 11:18:13 发布
本文介绍了一种在Android应用中调用系统相机进行拍照的方法,通过解析系统相机的包名和类名,设置拍照后的图片保存路径,并启动系统相机进行照片拍摄。
3366

被折叠的 条评论
为什么被折叠?



