0
Intent intent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE )

如果我安装了其他相机应用程序,此意图将显示一个可供选择的相机列表,所以我的问题是如何直接调用系统相机,而不是选择其他相机。

4

1 回答 1

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);
        }
于 2012-12-05T08:25:08.377 回答