requestpermissions - Android 5(HTC) EACCES(Permiso denegado)
requestpermissions android example (4)
Agregue permiso a sus permisos de archivo manifest.xml
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
la aplicación no puede crear una folder/file
en el almacenamiento externo de android 5(HTC HTC6525LVW os version: 5.0.1)
en el directorio de la aplicación.
La carpeta principal se devuelve mediante el [getExternalFilesDirs(String type)][1]
.
Sdcard
se monta.
¿Alguien más tiene este problema o sugerencia de cómo resolverlo?
(Desafortunadamente no tengo este dispositivo para probarlo más)
Edición: De un usuario, sé que antes de este error, ella cifró la tarjeta SD y luego la formateó.
Algunas ideas potenciales sobre lo que lo causó:
Si el teléfono se ejecuta en modo de almacenamiento USB cuando está conectado a su computadora, aún puede implementar / depurar como de costumbre, pero las operaciones de escritura fallarán
Le faltaba un permiso: en su archivo de manifiesto debe verificar si tiene
<permission name=”android.permission.WRITE_EXTERNAL_STORAGE” >
Permisos en la ubicación incorrecta: asegúrese de que su etiqueta de permiso (en manifiesto) se encuentre fuera de la aplicación
Escribir en la carpeta de
data
puede causar problemas como este, así que asegúrese de escribir en unasdcard
y no endata
Esto es todo lo que pude pensar. Espero eso ayude :)
Devuelve la ruta del directorio que contiene los archivos de la aplicación en el almacenamiento externo. Devuelve nulo si el almacenamiento externo no está montado actualmente, por lo que no pudo garantizar que la ruta exista; Tendrá que volver a llamar a este método cuando esté disponible.
La otra opción es que puede verificar si el almacenamiento externo está disponible:
String state = Environment.getExternalStorageState();
File filesDir;
// Make sure it''s available
if (Environment.MEDIA_MOUNTED.equals(state)) {
// We can read and write the media
filesDir = getExternalFilesDir(null);
} else {
// Load another directory, probably local memory
filesDir = getFilesDir();
}
Tengo el mismo problema pero encuentro las soluciones exactas. Espero que esta respuesta te sea útil.
//Create Folder
File folder = new
File(Environment.getExternalStorageDirectory().toString()+"/Aqeel/Images");
folder.mkdirs();
//Save the path as a string value
String extStorageDirectory = folder.toString();
//Create New file and name it Image2.PNG
File file = new File(extStorageDirectory, "Image2.PNG");