【问题标题】:How can I force to open only device camera for video capture intent?如何强制仅打开设备摄像头以进行视频捕获意图?
【发布时间】:2018-07-09 00:04:06
【问题描述】:

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

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

【问题讨论】:

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


【解决方案1】:

我想强制用户仅打开设备摄像头。我该怎么做?

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-27
    • 1970-01-01
    • 2011-05-16
    • 1970-01-01
    • 2021-01-28
    相关资源
    最近更新 更多