Intent intent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE )
如果我安装了其他相机应用程序,这个意图会显示一个相机列表供选择,所以我的问题是如何直接调用系统相机,而不是选择其他相机。
答案 0 :(得分:3)
你可以试试这个,
Intent camIntent = new Intent("android.media.action.IMAGE_CAPTURE");
Intent systemCamIntent = new Intent(camIntent);
systemCamIntent.setComponent(new ComponentName("com.sec.android.app.camera", "com.sec.android.app.camera.Camera"));
startActivity(systemCamIntent);
您可以使用下面的代码获取相机列表,然后您应该创建一个逻辑来了解哪个是不同房间的系统相机。
List<Intent> yourIntentsList = new ArrayList<Intent>();
List<ResolveInfo> listCam = packageManager.queryIntentActivities(camIntent, 0);
for (ResolveInfo res : listCam) {
finalIntent = new Intent(camIntent);
finalIntent.setComponent(new ComponentName(res.activityInfo.packageName, res.activityInfo.name));
yourIntentsList.add(finalIntent);
}