在 v23 上找不到符号 Manifest.permission.WRITE_EXTERNAL_STORAGE

问题描述 投票:0回答:8

我正在使用以下 build.gradle 文件编译代码

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.1"

    defaultConfig {

        applicationId "com.example"
        minSdkVersion 15
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
        multiDexEnabled true
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

为了访问将照片保存到 SDCARD,我已经打开了 V23 的权限对话框

就像下面的截图

但是我收到以下错误

找不到符号Manifest.permission.WRITE_EXTERNAL_STORAGE

我已将 sdkVersion 设置为 23,但为什么我仍然收到此错误

android android-manifest android-permissions
8个回答
64
投票

最后我发现Menifest文件是Android Studio自动生成的

在 AndroideMenifest 中,我为 ParsePushNotification 编写了以下代码

 <!--
      IMPORTANT: Change "com.parse.starter.permission.C2D_MESSAGE" in the lines below
      to match your app's package name + ".permission.C2D_MESSAGE".
    -->
    <permission android:protectionLevel="signature"
        android:name="com.example.permission.C2D_MESSAGE" />
    <uses-permission android:name="com.example.permission.C2D_MESSAGE" />

并生成以下菜单文件

所以当我在下面编写代码时它就可以工作了

android.Manifest.permission.WRITE_EXTERNAL_STORAGE

而不是

Manifest.permission.WRITE_EXTERNAL_STORAGE


45
投票

仅在清单类之前编写Android。变化:

Manifest.permission.WRITE_CALENDAR

至:

android.Manifest.permission.WRITE_CALENDAR


10
投票

我认为你可以在 android.Manifest.permission 或 android.Manifest.permission_group 中使用 android 的 Manifest 类。有关详细权限类型,您可以从此 Manifest.permission 阅读,请参阅此

int permissionCheck = ContextCompat.checkSelfPermission(thisActivity,
    android.Manifest.permission.WRITE_CALENDAR);

4
投票

这个问题的解决方案很简单..只需在“manifest”一词之前添加“android”一词即可。

android.Manifest.permission.WRITE_CALENDAR


3
投票

请阅读这篇文章

由于权限系统经过重新设计,有些权限需要撤销访问权限,而另一些则不需要。您请求的特定权限位于名为

android.permission-group.STORAGE
的组中。看看这个。

试试这个:

private static final int REQUEST_EXTERNAL_STORAGE = 1;
    private static String[] PERMISSIONS_STORAGE = {Manifest.permission.READ_EXTERNAL_STORAGE,
            Manifest.permission.WRITE_EXTERNAL_STORAGE};

            ActivityCompat.requestPermissions(mActivity, PERMISSIONS_STORAGE,
                     REQUEST_EXTERNAL_STORAGE);

1
投票

在Manifest.permission.WRITE之前编写android即可 示例:android.Manifest.permission.WRITE_EXTERNAL_STORAGE;_EXTERNAL_STORAGE。


0
投票

这里有两个解决方案:

1.

import android.Manifest
添加到导入部分。
2. 在权限名称前添加
android
关键字(例如 android.Manifest.permission.CAMERA


0
投票
如果 IDE 无法识别,

import android.Manifest
是解决方案
Manifest.permission.WRITE_EXTERNAL_STORAGE

© www.soinside.com 2019 - 2024. All rights reserved.