在我们的一个应用程序中,我们使用相机意图拍照。这适用于真实设备 - 没有相机许可。
这是正确的还是我应该将它添加到此应用Manifest?
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
答案 0 :(得分:17)
看到这个: http://mobile.tutsplus.com/tutorials/android/android-sdk-quick-tip-launching-the-camera/
那里有两件事。第一: 关于权限的说明: 虽然您的应用程序正在利用相机,但它不需要具有android.permission.CAMERA权限,因为它不直接访问相机。相反,它只是通过Intent启动Camera应用程序。
我不认为这在developer.android.com的任何地方都有澄清,所以这可能是错的,而且还有其他事情发生。
您似乎只需要获得直接访问相机基元的权限,而不是通过Intent。
请注意,上述相同的网址还指出您应该声明该功能,以防止没有相机的用户在市场上看到您的应用。