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


Cómo guardar archivos mediante Storage Access Framework en Android

Estoy integrando el Marco de acceso al documento con mi aplicación de acceso al almacenamiento en la nube. Utilizando esta documentación he podido acceder al archivo y recuperarlo (simplemente uso la función de adjuntar de la aplicación de Gmail para comprobarlo).

Ahora estoy tratando de encontrar cómo guardar el archivo utilizando el mismo método (Guardar archivo directamente a través de la aplicación para almacenamiento en la nube) y he hecho los siguientes cambios:

Para la llamada de getRoots,

row.add(Root.COLUMN_FLAGS, Root.FLAG_SUPPORTS_CREATE); 

Y también he invalidado el método createDocument .

No veo mucho en formas de código de ejemplo o documentación sobre cómo hacer esto. También veo que un montón de aplicaciones como la aplicación "Fotos" tienen botón "Compartir" que utilizan un método diferente (los registros muestran miniShareActivity) y mi aplicación no aparece en que (Parece que está utilizando un mecanismo de intercambio de archivos diferente )

Estoy buscando información sobre

  1. Cómo utilizar el SAF para almacenar el archivo (cualquier archivo de muestra será grande o punteros a la documentación). Estoy asumiendo que permitirá al usuario utilizar la interfaz del selector para navegar a la carpeta y almacenar el archivo.

  2. Cómo obtener la aplicación para que aparezca en la lista de aplicaciones "Minishare activity" para importar el archivo en la aplicación (Parece que no proporciona una interfaz de selector pero todavía me gustaría proporcionar el soporte para que el archivo se guarde en Una ubicación predeterminada)

  • Los permisos persistentes de Access Framework no funcionan
  • Abrir directorio específico mediante Storage Access Framework
  • One Solution collect form web for “Cómo guardar archivos mediante Storage Access Framework en Android”

    El botón Compartir al que se refiere en otras aplicaciones probablemente utilice ACTION_SEND como acción Intent, en lugar de ACTION_CREATE_DOCUMENT que se introdujo con Storage Access Framework.

    Es probable que desee apoyar ambos, ya que ACTION_CREATE_DOCUMENT sólo se introdujo en KitKat y las aplicaciones anteriores pueden no ser conscientes de ello. Del mismo modo, es posible que desee también apoyar la acción de intención ACTION_GET_CONTENT para el acceso de lectura en los dispositivos pre-KitKat (ACTION_GET_CONTENT es manejado por el SAF cuando se ejecuta en KitKat +, pero su aplicación todavía necesita manejarlo cuando se ejecuta en un dispositivo pre-KitKat). ¿Están configurados los <intent-filter> en su AndroidManifest para que coincidan con todos los tipos de intención?

    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.