Android 摄像机在未经摄像机许可的情况下工作?

Android 摄像机在未经摄像机许可的情况下工作?,android,permissions,camera,Android,Permissions,Camera,在我们的一个应用程序中,我们使用相机来拍照。这在真实的设备上工作-没有摄像头许可 这是正确的还是应该将其添加到此应用程序清单中 ContentValues contentValues = new ContentValues(); contentValues.put(MediaStore.Images.Media.DESCRIPTION, "Image capture"); contentValues.put(MediaStore.Images.Media.TITLE, "new image");

在我们的一个应用程序中,我们使用相机来拍照。这在真实的设备上工作-没有摄像头许可

这是正确的还是应该将其添加到此应用程序清单中

ContentValues contentValues = new ContentValues();
contentValues.put(MediaStore.Images.Media.DESCRIPTION, "Image capture");
contentValues.put(MediaStore.Images.Media.TITLE, "new image");

Uri uri = getContentResolver().insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, contentValues);

Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra(MediaStore.EXTRA_OUTPUT, uri);
intent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 1);

startActivityForResult(intent, 1);
TIA

见此:

这里有两件事值得注意。第一: 关于权限的说明: 尽管您的应用程序正在利用摄像头,但它不需要具有android.permission.Camera权限,因为它不直接访问摄像头。相反,它只是通过Intent启动摄像头应用程序

不过,我在developer.android.com上看不到这一点得到澄清,所以这可能是错误的,而且还发生了其他事情

似乎您只需要获得直接访问摄影机原语的权限,而不需要通过意图


请注意,上面的同一URL还指出,您应该声明该功能,以防止没有摄像头的用户在市场上看到您的应用程序。

您能否详细解释一下,我尝试过这个“Intent Intent=new Intent”(“android.media.action.IMAGE_CAPTURE”);startractivityforresult(Intent,0);”它未经允许就打开了摄像头为什么会发生这种情况?