Mientras escribo el archivo en la tarjeta SD externa recibo un error. Se rechaza el permiso EACCESS. He establecido el permiso <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
Pero cuando leo el archivo puedo leerlo con éxito pero no puedo escribir el archivo. El código que estoy usando para escribir el archivo en la tarjeta SD es:EACCESS Permiso denegado en Android
String path="mnt/extsd/Test";
try{
File myFile = new File(path, "Hello.txt"); //device.txt
myFile.createNewFile();
FileOutputStream fOut = new FileOutputStream(myFile);
OutputStreamWriter myOutWriter = new OutputStreamWriter(fOut);
myOutWriter.append(txtData.getText());
myOutWriter.close();
fOut.close();
Toast.makeText(getBaseContext(),"Done writing SD "+myFile.getPath(),Toast.LENGTH_SHORT).show();
} catch (Exception e) {
Toast.makeText(getBaseContext(), e.getMessage(),Toast.LENGTH_SHORT).show();
System.out.println("Hello"+e.getMessage());
}
}
el camino para la tarjeta de almacenamiento externo es mnt/extsd/
. Es por eso que no puedo usar Environment.getExternalStorageDirectory().getAbsolutePath()
que me da una ruta mnt/sdcard
y esta ruta es para la ruta de almacenamiento interno en mi tableta. Indique por qué esto es así. ¿Cómo puedo resolver esto?
bien ... ¿Hay alguna otra forma de escribir? – CodingDecoding
¿Tiene acceso de root a su tableta? Si aún así puede hacer una prueba como esta: 1) permita que su aplicación use el permiso WRITE_MEDIA_STORAGE y luego reconstruirlo; 2) desinstala tu aplicación si ya está instalada, luego ejecuta "adb root", "adb remount", "adb push YouApp.apk /system/app/YouApp.apk", esto hará que tu aplicación sea una aplicación del sistema; 3) inicie su aplicación y verifique si el código de prueba está funcionando o no.En caso afirmativo, no parece haber otra alternativa, salvo firmar la aplicación por certificado de plataforma o convertirla en una aplicación de sistema. O puede esperar para ver si alguien más tiene una idea mejor. –
Gracias por la información. Realmente ayudó :) – CodingDecoding