ただインテントを使用してバックカメラを起動する方法があることを知りたいだけです。私はintent.puttextraのことを使いたくありません。したがって、基本的に私のコードは次のようになります
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;
}
}
}
}