android - studio - No se puede encontrar Symbol Manifest.permission.WRITE_EXTERNAL_STORAGE en v23
permisos para camara android (5)
Estoy compilando código con el siguiente archivo 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''
}
}
}
Para acceder a guardar la foto en la tarjeta SDCARD, he abierto el cuadro de diálogo Permiso para V23
como abajo captura de pantalla
Pero estoy recibiendo el siguiente error que
No se puede encontrar Symbol Manifest.permission.WRITE_EXTERNAL_STORAGE
He puesto sdkVersion a 23, pero ¿por qué sigo recibiendo este error?
Creo que puedes usar la clase Manifest desde Android en android.Manifest.permission o android.Manifest.permission_group. Para obtener información detallada sobre los tipos de permisos que puede leer en este Manifest.permission , consulte esto.
int permissionCheck = ContextCompat.checkSelfPermission(thisActivity,
android.Manifest.permission.WRITE_CALENDAR);
Finalmente encontré que el archivo Menifest es autogenerado por Android Studio.
En AndroideMenifest he escrito el siguiente código para 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" />
y por debajo se genera el archivo de manifiesto.
Así que cuando he escrito el código a continuación funciona
android.Manifest.permission.WRITE_EXTERNAL_STORAGE
en lugar de
Manifest.permission.WRITE_EXTERNAL_STORAGE
Lee este artículo por favor.
Dado que el sistema de permisos se ha rediseñado, hay algunos permisos que necesitan acceso para ser revocados y otros que no. El permiso específico que solicita está en un grupo que se llama android.permission-group.STORAGE
. Mira esto.
Probar esto:
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);
Solo escribe Android antes de la clase manifiesta. Cambio:
Manifest.permission.WRITE_CALENDAR
a:
android.Manifest.permission.WRITE_CALENDAR
la solución a este problema es simple ... solo agregue la palabra "android" antes de la palabra "manifest".
android.Manifest.permission.WRITE_CALENDAR