如何限制从您的应用程序使用第三方相机应用程序

时间:2015-08-06 09:38:59

标签: android-camera

我有power cam app,这是我的设备中安装的第三方相机应用程序。我正在从我的应用程序打开相机,当我点击打开相机按钮时,它给了我选择的相机,如设备相机和电源凸轮。我想要点击打开的相机按钮,设备相机应该打开,换句话说我想限制用户使用我的应用程序中的电源凸轮

1 个答案:

答案 0 :(得分:0)

如果您只想运行官方相机,可以使用以下意图(基于official tutorial):

static final int REQUEST_IMAGE_CAPTURE = 1;

private void dispatchTakePictureIntent() {
    Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
    takePictureIntent.setPackage("com.android.camera");
    if (takePictureIntent.resolveActivity(getPackageManager()) != null) {
        startActivityForResult(takePictureIntent, REQUEST_IMAGE_CAPTURE);
    }
}

很遗憾,许多设备都附带自定义预装相机应用,com.android.camera可能无法使用。

如果您要过滤掉您不喜欢的特定软件包,则必须准备自己的选择器对话框(请参阅示例here)。如果您知道要选择哪个包,则可以跳过该对话框。例如。可以将列表过滤为仅包含" system"包。但即便如此,也无法保证只有一个系统包可以注册以实现 MediaStore.ACTION_IMAGE_CAPTURE 意图。