如何强制仅打开设备摄像头以获取视频捕获意图?

时间:2018-01-30 07:05:59

标签: android video android-intent camera video-capture

当我使用相机意图捕获视频时,用户可以选择所有相机应用程序。但我想强制用户只打开设备相机。我怎么能这样做?

我目前的意图: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);
}

enter image description here

1 个答案:

答案 0 :(得分:1)

  

我想强制用户仅打开设备相机。我怎么能这样做?

您可以通过定义setClassName (String packageName, String className)来打开特定应用。但我不认为这是正确的方法,因为如果你不开发特定于设备的应用程序,你可能会遇到问题。

原因是 - 每个设备都没有相同的相机应用,因此application_full_class_name每次都不会借给该特定应用。它也可能抛出ActivityNoFoundException