20 votos

¿Cómo compartir archivos entre una cuenta regular y una cuenta de trabajo?

¿Cómo compartir archivos entre una cuenta regular y una cuenta de trabajo?

He investigado y no puedo encontrar nada. ¿Qué me falta?

19voto

Jack Wade Puntos 231

Es posible que no siempre sea posible transferir datos entre múltiples usuarios/perfiles. Depende de la aplicación Controlador de Política de Dispositivos/Trabajo, instalada por usted o su administrador de TI.

Un dispositivo Android se puede administrar de dos formas: totalmente administrado (configurado al momento del primer uso o después de restablecer los valores de fábrica en un dispositivo propiedad de la empresa) y perfiles de trabajo (que se pueden agregar o quitar en cualquier momento sin afectar el perfil principal en un dispositivo personal / BYOD). Ambos requieren una aplicación propietaria de perfil (MDM/DPC/EMM) instalada y registrada como administrador. Los dispositivos totalmente administrados pueden tener además perfiles de trabajo y proporcionan más aislamiento y control sobre las políticas de todo el dispositivo que estos últimos. Consulte una comparación de ambos modos en Creación de DPC (1, 2, 3, 4) y Empleo de Perfiles Administrados (5) en la documentación de Android.

Varios usuarios también se pueden agregar si están habilitados en la ROM por el fabricante de equipos originales/desarrollador de ROM. Al ser más aislados que los perfiles, interactuar con los usuarios requiere INTERACT_ACROSS_USERS, que es un permiso con nivel de protección signature|system protection level. Por lo tanto, las aplicaciones de terceros no pueden usarlo en absoluto.

Independientemente de si el usuario secundario es un usuario humano o propietario de un perfil personal o propietario de un perfil de trabajo, la intención primaria es el aislamiento de datos. Como se define aquí:

"Un perfil de trabajo aísla de manera segura las aplicaciones y datos de trabajo de las aplicaciones y datos personales."

Y como se explica aquí, el intercambio de archivos entre el propietario del dispositivo y el perfil de trabajo debe realizarse únicamente a través de intents (lanzados con URIs de contenido), no rutas de archivos. Sin embargo, un propietario de perfil puede prohibir completamente el intercambio de datos (y IPC/intents) entre usuarios/perfiles. Por ejemplo, consulte DISALLOW_SHARE_INTO_MANAGED_PROFILE, DISALLOW_USB_FILE_TRANSFER, DISALLOW_MOUNT_PHYSICAL_MEDIA, addCrossProfileIntentFilter.

Desde Android 9, también se prohíbe que adb acceda a archivos pertenecientes al usuario/perfil secundario. Para más detalles, consulte ¿Cómo acceder al almacenamiento multiusuario en adb shell en Android 9+?

  • Sin embargo, si el intercambio no está prohibido, verá opciones para cambiar a otros perfiles (pestañas en la hoja de intercambio en Android 11+) al compartir archivos:

  • Shelter - una aplicación gratuita y de código abierto (no tengo afiliación) que aprovecha la función de "Perfil de Trabajo" para proporcionar un espacio aislado para clonar aplicaciones - actúa como proveedor de contenido (medios) y proporciona la opción de "File Shuttle" que le permite acceder a archivos del Perfil de Trabajo desde el Perfil Personal a través de "Marco de Acceso de Almacenamiento":

  • También puede ejecutar un pequeño servidor http/ftp para compartir archivos en ambos lados, o sincronizar con almacenamiento en la nube, si no está restringido por la política.

Por lo tanto, depende completamente de la política del creador de perfiles si se permite o no el intercambio de archivos, por lo general no es deseable en un entorno corporativo. Sin embargo, el siguiente método puede funcionar en todas las situaciones:

  • El truco más utilizado para compartir archivos entre varios usuarios es el directorio Android/obb, que se comparte entre usuarios para ahorrar espacio de almacenamiento. El intercambio se gestionaba utilizando enlaces simbólicos en los primeros días, pero luego el manejo se agregó a FUSE/sdcardfs internamente. Sin embargo, el intercambio se desaprobó en Android 10 introduciendo la opción de montaje unshared_obb en sdcardfs.

    Por lo tanto, hasta Android 9 puede utilizar el directorio obb para compartir archivos entre usuarios/perfiles:

    ~# mkdir -p /storage/emulated/*/Android/obb; touch /sdcard/Android/obb/test_file
    ~# ls /storage/emulated/*/Android/obb/* /storage/emulated/obb/*
    /storage/emulated/0/Android/obb/test_file  /storage/emulated/10/Android/obb/test_file /storage/emulated/obb/test_file

0 votos

En Android 9 pude acceder a los archivos del perfil laboral con permisos de root. En Android 11 ni siquiera con root puedo hacerlo. El acceso está bloqueado probablemente por selinux.

1 votos

@Qkiz soluciones de root totalmente funcionales como Magisk proporcionan un contexto SELinux completamente permisivo. Siempre puedes acceder a todos los archivos de los usuarios desde /data/media/. No estoy seguro de cómo lo estás haciendo.

0 votos

El segundo usuario es un perfil de trabajo sin permisos de root, por lo que no puede acceder a /data/media para escribir archivos

4voto

Etienne Puntos 41

Encontré una forma muy sencilla, simplemente utilizando navegadores web en ambos perfiles de trabajo y regulares.

Abre un navegador en cada perfil y navega hasta la URL snapdrop.net, lo que debería abrir una sesión con un nombre de usuario aleatorio que aparecerá en el otro navegador y viceversa. Al hacer clic en el icono de nombre de usuario, puedes enviar un archivo que debería aparecer en el navegador del otro perfil. Luego puedes aceptar y descargar el archivo.

Esto no necesita ninguna aplicación de terceros ni configuración de servidor, y los datos solo transitan por el teléfono (snapdrop solo se utiliza como un servidor de sincronización para websockets). Durante la transferencia de archivos, los clientes hablan directamente entre sí y no envían datos fuera.

0 votos

Creo que esto también se puede hacer usando la aplicación. f-droid.org/packages/com.fmsys.snapdrop

0 votos

La única configuración que parecía funcionar para mí es abrir la aplicación snapdrop en el perfil laboral y abrir snapdrop.net en el navegador Brave (con los escudos desactivados) en el perfil de usuario. Si aún no funciona, prueba la función de ventana múltiple de Android para mostrar ambos en pantalla al mismo tiempo.

3voto

avesus Puntos 85

Utilice Total Commander para Android u otros administradores de archivos de terceros donde pueda utilizar la opción "Compartir a través de.." y la aplicación guardará los archivos en una nueva ubicación.

P. ej. los pasos:

  1. En el perfil de trabajo a través de la aplicación interna "Archivos", seleccione el archivo y use la opción "Compartir"
  2. En el cuadro de diálogo de compartir, cambie a las opciones de compartir "Perfil personal"
  3. Seleccione la aplicación del administrador de archivos
  4. Seleccione la carpeta del perfil personal en el diálogo del administrador de archivos
  5. ¡Listo, el archivo está en su carpeta personal!

0 votos

Total commander funciona perfectamente para este propósito, gracias por proporcionarlo como ejemplo.

1voto

Nikhil Puntos 11

Acabo de resolver esto para mí mismo mediante -

  1. utilizando un administrador de archivos (Solid File Explorer) (sin afiliación) para crear un servidor FTP en el perfil de trabajo,
  2. accediendo al servidor FTP a través del administrador de archivos en el perfil personal y simplemente
  3. transferir archivos entre ambos.

¡Solución rápida!

0voto

marlar Puntos 111

Logré transferir archivos a través del complemento WiFi de Total Commander. Ambos usuarios deben tener instalado TC + complemento Wifi. Uno de ellos se configura como servidor y te mostrará un código QR. Toma una foto del código con tu teléfono.

El otro usuario escanea este código QR desde el teléfono y podrán transferir archivos fácilmente entre los dos usuarios siempre que el servidor esté en funcionamiento.

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X