无法插入图像需要android.permission.WRITE_EXTERNAL_STORAGE或grantUriPermission()

时间:2016-05-15 17:24:46

标签: android

我试图在我的应用程序中实现共享选项并通过不同的社交网络共享图像,但是当我尝试首先从ImageView保存图像然后读取它时,我收到此错误:

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

这是我的清单文件:

<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.BLUETOOTH"/>
<uses-permission android:name="android.permission.MEDIA_CONTENT_CONTROL" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

<application
    android:name=".app.AppController"
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:largeHeap="true"
    android:supportsRtl="true"
    android:theme="@style/AppTheme">

gradle文件:

android {
compileSdkVersion 23
buildToolsVersion "23.0.2"

defaultConfig {
    applicationId "com.dusandimitrijevic.pdssolution"
    minSdkVersion 15
    targetSdkVersion 23
    versionCode 3
    versionName "1.2"

    // Enabling multi dex support.
    multiDexEnabled true

}
buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}

}

1 个答案:

答案 0 :(得分:1)

这个错误显示为目标版本23然后它会给你这个错误,如果你的要求包括API级别23那么你需要制作目标23并且需要动态检查权限这里是开发人员网站检查的例子{{3 }}

developer site权限列表。

即使你给目标22或更低,你的应用也将使用23而没有这个(检查权限)错误。