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