Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Permiso para escribir en la tarjeta SD

Me gustaría que mi aplicación archivara el DB de la aplicación en la tarjeta SD. En mi código comprobar si el directorio canWrite() existe, y si no, lanzar una IOException . En este caso en particular, estoy tratando de copiar el archivo db en el directorio raíz de la tarjeta SD, pero está lanzando una IOException . ¿Cómo puedo cambiar el permiso de una carpeta / archivo para poder escribir en él?

  • Adición de cotizaciones en Java
  • Resto objeto POST utilizando el resorte para android
  • Java.lang.ClassCastException: android.view.ViewGroup $ LayoutParams no se puede convertir en android.widget.RelativeLayout $ LayoutParams
  • Android: Cómo rellenar una vista de lista con elementos de matriz
  • Análisis de cadenas de consulta en Android
  • Clase de BlackBerry equivalente a AsyncTask?
  • ¿Qué significa 'ICU' en Android SDK?
  • Android Google Maps v2 no muestra el icono Compass and Location
  • 2 Solutions collect form web for “Permiso para escribir en la tarjeta SD”

    Usted tiene razón de que el directorio de la tarjeta SD es /sdcard pero no debe ser difícil de codificación. En su lugar, realice una llamada a Environment.getExternalStorageDirectory() para obtener el directorio:

     File sdDir = Environment.getExternalStorageDirectory(); 

    Si aún no lo ha hecho, tendrá que conceder a su aplicación el permiso correcto para escribir en la tarjeta SD añadiendo la línea a continuación a su Manifiesto:

     <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 

    La técnica sugerida anteriormente en la respuesta de Dave es sin duda una buena práctica de diseño, y sí, en última instancia, el permiso requerido debe establecerse en el archivo AndroidManifest.xml para acceder al almacenamiento externo.

    Sin embargo, la forma Mono-esque de agregar más (si no todas, no seguro) "opciones de manifiesto" es a través de los atributos de la clase que implementa la actividad (o servicio).

    El complemento Visual Studio Mono genera automáticamente el manifiesto, por lo que es mejor no manipularlo manualmente (estoy seguro de que hay casos en los que no hay otra opción).

    Por ejemplo:

     [Activity(Label="MonoDroid App", MainLauncher=true, Permission="android.permission.WRITE_EXTERNAL_STORAGE")] public class MonoActivity : Activity { protected override void OnCreate(Bundle bindle) { base.OnCreate(bindle); } } 
    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.