我只是想知道是否有任何方法可以仅使用意图来启动后置摄像头。我不想使用intent.putextra 的东西。所以基本上我的代码应该是这样的
final Intent cameraIntent = new Intent();
cameraIntent.putExtra("android.intent.extras.CAMERA_FACING", 0);
cameraIntent.setPackage(defaultCameraPackage);
cameraIntent.setAction(MediaStore.ACTION_IMAGE_CAPTURE);
cameraIntent.addFlags(Intent.FLAG_GRANT_PERSISTABLE_URI_PERMISSION);
cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, cameraUrl);
((Activity) mContext).startActivityForResult(cameraIntent, CHOOSE_PHOTO_INTENT);
但上面的代码有时会启动前置摄像头。我想直接启动后置摄像头。如果在 Android 中可行,请帮助我。
为了打开默认相机,我使用以下代码:
public void defaultpackage() {
PackageManager packageManager = mContext.getPackageManager();
List<ApplicationInfo> list = packageManager
.getInstalledApplications(PackageManager.GET_UNINSTALLED_PACKAGES);
for (int n = 0; n < list.size(); n++) {
if ((list.get(n).flags & ApplicationInfo.FLAG_SYSTEM) == 1) {
if (list.get(n).loadLabel(packageManager).toString()
.equalsIgnoreCase("Camera")) {
defaultCameraPackage = list.get(n).packageName;
Log.e("package", "" + defaultCameraPackage);
break;
}
}
}
}