1 votos

¿Cómo abrir un archivo ubicado en un directorio que no es de tarjeta en Tasker?

¿Cómo se puede abrir un archivo ubicado en una subcarpeta de la carpeta root, utilizando tasker, en LineageOS 14.1?

Mis intentos hasta ahora han sido:

  1. Crear una nueva tarea en tasker.

  2. Comprueba si el tasker tiene permiso de Root con la variable "Root available": %ROOT . Esto devuelve yes . Por lo tanto, asumo que Tasker tiene permiso de Root.

  3. crear la acción: "abrir archivo"

  4. Esto sólo permite el acceso al /storage/ de la unidad interna o externa.

  5. Por lo tanto, introduje manualmente la ruta del archivo ubicado en la carpeta root a la que estoy tratando de acceder como: /data/misc/wifi/wpa_supplicant.conf y ejecutar la tarea, pero devuelve el error: file not found .

    IMG: IMG:

  6. Así que intenté /data/misc/wifi/wpa_supplicant.conf y ejecuté la tarea, pero devuelve el mismo error.

  7. He intentado abrir el archivo con la aplicación de fdroid: editor sin abrir un explorador de archivos para abrir el archivo. Pero no puedo pasar la ubicación del archivo como argumento a la aplicación editor cuando cree una tarea para hacerlo.

1 votos

No sé nada de tasker pero sí de comandos de shell. Si eso es lo que Tasker está utilizando el problema es que sólo tiene que cd en el ejemplo de directorio: cd /data/misc/wifi/ para añadir otro comando && o ; debe hacer el truco ejemplo : cd /data/misc/wifi/ && your command o cd /data/misc/wifi/; your command dependiendo de cómo el commmand para seguir a través de.

2 votos

@BoLawson si es un comando shell basta con anteponer el prefijo ! para decirle a Tasker que lo perfrom con poderes Root AFAIR (podría ser que mientras tanto hay una casilla de verificación para eso). Sin embargo, no sé si hay un equivalente para abrir un archivo.

2 votos

Buen punto @Izzy, también para abrir el archivo el nano debería funcionar de la siguiente manera !nano /data/misc/wifi/wpa_supplicant.conf si vuelve con el error de archivo/directorio desconocido entonces cd en el directorio. En el primer comentario ponga ! delante del cd.

4voto

Firelord Puntos 161

La acción incorporada de Abrir Archivo no parece funcionar para los no /storage porque está codificado (supongo que por sus registros de error) para cargar sólo un archivo ubicado en /storage/emulated/0 . Incluso si se menciona la ubicación absoluta utilizando file:// , seguiría añadiendo /storage/emulated/0 a la ruta del archivo y lanzar un error.

Dado que la acción Abrir archivo simplemente envía una intención, podemos hacerlo manualmente nosotros mismos. La acción Send Intent es bastante buena para esto, excepto que también falla con las acciones no /sdcard rutas de los archivos. Tasker implementa FileProvider (una forma de compartir archivos de forma segura con otras aplicaciones). La acción podría funcionar, pero el archivo de manifiesto de Tasker prevé no exportar el proveedor de archivos, lo que significa que otras aplicaciones no pueden hacer uso de él. Dado que Tasker convierte incluso la ruta absoluta de un archivo (con file://) en una URI de proveedor de archivos, no hay ninguna salida para que podamos cargar un archivo no /sdcard usando esa acción también, excepto para pedirle al desarrollador de Tasker que lo arregle, o que el propio usuario retoque el archivo de manifiesto.

La solución, sin embargo, está disponible mediante la línea de comandos. Utilice la acción

Código → Ejecutar Shell:

  • Comando:

    am start -a android.intent.action.VIEW -d "file://FILE_PATH" -t "text/plain" -f 0x13000000 -n android/com.android.internal.app.ResolverActivity

    file:// está pensada tal cual. En su caso, la ruta del archivo debería ser file:///data/misc/wifi/wpa_supplicant.conf .

    text/plain puede sustituirse por text/* también si no conoce el tipo mime de su archivo.

    (Puede saber sobre am aquí .) No sé qué hace esa bandera (0x13000000) en particular.

  • garrapata Uso root

La ejecución de la tarea le dará ahora la hoja inferior con todas las aplicaciones que pueden cargar un archivo con tipo mime text/plain . Sin embargo, al probarlo, sólo QuickEdit fue capaz de cargar ese archivo con éxito, por lo que recomiendo usarlo a menos que consigas que esto funcione con otro editor.

0 votos

Bien, he instalado tasker para probarlo y funciona +1 buen material

0 votos

Los comentarios no son para extender la discusión; esta conversación ha sido movido al chat .

1 votos

Muchas gracias por la elaborada explicación. Puedo confirmar los pasos descritos con el comando am start -a android.intent.action.VIEW -d "file://file:///data/misc/wifi/wpa_supplicant.conf" -t "text/plain" -f 0x13000000 -n android/com.android.internal.app.ResolverActivity trabajar en Tasker V5.2.bf1. De hecho, el único editor de texto que pude conseguir que funcione, en la actualidad es QuickEdit como usted ha mencionado.

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