当我使用相机意图捕获视频时,用户可以选择所有相机应用程序。但我想强制用户只打开设备相机。我怎么能这样做?
我目前的意图:Intent captureIntent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE);
private void captureVideo() {
Intent captureIntent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE);
if (captureIntent.resolveActivity(conversationActivity.getPackageManager()) != null) {
if (captureVideoUri == null) {
captureVideoUri = Uri.fromFile(CameraHelper.getOutputMediaFile(CameraConfiguration.MEDIA_ACTION_VIDEO));
}
captureIntent.putExtra(MediaStore.EXTRA_OUTPUT, captureVideoUri);
}
startActivityForResult(captureIntent, 1);
}
答案 0 :(得分:1)
我想强制用户仅打开设备相机。我怎么能这样做?
您可以通过定义setClassName (String packageName, String className)来打开特定应用。但我不认为这是正确的方法,因为如果你不开发特定于设备的应用程序,你可能会遇到问题。
原因是 - 每个设备都没有相同的相机应用,因此application_full_class_name
每次都不会借给该特定应用。它也可能抛出ActivityNoFoundException
。