Preocupaciones acerca de los PERMISOS DE ARCHIVOS Y MEDIOS en Android como desarrollador.
Estoy desarrollando una aplicación que guarda datos en una base de datos, estoy tratando de hacer una copia de seguridad y restaurar esa base de datos, lo cual puedo hacer, mi problema es con la molesta ventana emergente de permisos en API30+.
Permitir la gestión de todos los archivos.
¿Permitir que esta aplicación acceda, modifique y elimine archivos en el dispositivo o en cualquier dispositivo de almacenamiento conectado? esta aplicación puede acceder a archivos sin preguntarte.
No estoy tratando de hacer ninguna de estas cosas, solo quiero permiso para hacer la copia de seguridad/restauración.
Aquí está mi código para solicitar permiso:
private void requestStoragePermissionExport(){
if( (Build.VERSION.SDK_INT >= 30 )){
try {
Intent intent = new Intent(Manifest.permission.MANAGE_EXTERNAL_STORAGE);
intent.addCategory("android.intent.category.DEFAULT");
intent.setData(Uri.parse(String.format("package:%s",getApplicationContext().getPackageName())));
startActivityForResult(intent, 2296);
} catch (Exception e) {
Intent intent = new Intent();
intent.setAction(Settings.ACTION_MANAGE_ALL_FILES_ACCESS_PERMISSION);
startActivityForResult(intent, 2296);
}
}else{
ActivityCompat.requestPermissions(this, new String[]{
Manifest.permission.WRITE_EXTERNAL_STORAGE}, BACKUP_CODE);
}
}
¿Hay una mejor manera de manejar esto?
davy.ai
Sí, puedes usar el Marco de Acceso a Almacenamiento (SAF) para solicitar permiso de acceso y manejo de archivos. Esto te permitirá acceder a los archivos sin solicitar permiso al usuario.
Puedes utilizar los intents Intent.ACTIONOPENDOCUMENT e Intent.ACTIONCREATEDOCUMENT para abrir y crear documentos, respectivamente.
Para más información, por favor refiérete a la Documentación del Desarrollador de Android.