我需要让用户使用 Android 6.0 拍照(从图库或相机应用程序)。
因为我不需要控制相机,所以我想使用此处描述的意图:
但是,如果您不需要此类控制,则可以仅使用 ACTION_IMAGE_CAPTURE 意图来请求图像。当您启动意图时,系统会提示用户选择相机应用程序(如果还没有默认相机应用程序),并且该应用程序会拍摄照片。相机应用程序将图片返回到应用程序的 onActivityResult() 方法。
https://developer.android.com/preview/features/runtime-permissions.html https://developer.android.com/preview/features/runtime-permissions.html
但对于这个ACTION_IMAGE_CAPTURE,您需要填写额外的“MediaStore.EXTRA_OUTPUT”这是临时文件的 Uri(如果没有这个参数,我将只有一个缩略图)。该临时文件必须位于外部存储中(以便相机应用程序可以访问)。你需要许可写外部存储在外部存储上创建文件。
因此,如果没有权限 android.permission.CAMERA or android.permission.WRITE_EXTERNAL_STORAGE。那是对的吗?
Thanks
尝试这个:
Intent cameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
File file = new File(getActivity().getApplicationContext().getExternalFilesDir(android.os.Environment.DIRECTORY_PICTURES).getAbsolutePath() + File.separator + "yourPicture.jpg");
Uri uri = Uri.fromFile(file);
cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, url);
在这种情况下,这使您可以访问可用于相机应用程序的“外部”存储,但这些文件只能从您的应用程序中看到。
要了解有关 Android 中存储空间的更多信息,请参阅https://www.youtube.com/watch?v=C28pvd2plBA https://www.youtube.com/watch?v=C28pvd2plBA
希望对您有帮助!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)