将照片保存到Android图库

时间:2016-11-10 16:51:38

标签: android save android-gallery

我尝试将手机拍摄的Bitmap照片添加到Android Studio的图库中,但收到错误消息:

Failed to insert image
   java.lang.SecurityException: Permission Denial: writing com.android.providers.media.MediaProvider uri content://media/external/images/media from pid=4110, uid=10058 requires android.permission.WRITE_EXTERNAL_STORAGE, or grantUriPermission()

我用过Manifest xml:

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" android:maxSdkVersion="21"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" android:maxSdkVersion="21" />

我保存图片的方式是:

MediaStore.Images.Media.insertImage(getContentResolver(), FullBitmap, "Name" , "Date");

我正在使用Nexus 5模拟器和Android 5.1版。

1 个答案:

答案 0 :(得分:2)

正如@ n​​jzk2指出的那样,不要使用android:maxSdkVersion属性。此属性适用于较高API级别不再需要的权限。文档中给出的示例是应用此属性的几个原因之一:

  

例如,从Android 4.4(API级别19)开始,它不再是   您的应用需要WRITE_EXTERNAL_STORAGE   您的应用想要写入自己的权限   外部存储上的特定于应用程序的目录(目录   由getExternalFilesDir()提供。但是,许可是   API级别18及更低级别所需。

在您的情况下,您正在访问公共目录;您 所有API级别都需要WRITE_EXTERNAL_STORAGE权限。