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.
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
ocd /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.1 votos
@BoLawson Me he perdido la parte del editor. De hecho, no estoy seguro de si una aplicación de editor no Root (OP quería usar uno específico) podría trabajar. nano o vi debe hacer bien.
1 votos
@BoLawson gracias por la sugerencia, en un primer instante efectivamente intenté comprobar si podía ejecutar el comando desde Termux en Android y utilicé
cd /data/misc/wifi/
para navegar hasta el directorio, verifique la existencia del archivo usandols
. Pero luego se quedó atascado en la forma de abrir el archivo de Termux. wiki.termux.com/wiki/Compartir_datos sugerenciatermux-open wpa_supplicant.conf
pero no he podido utilizar o instalartermux-open
de Termux. No probé nano todavía, ya que no podré acceder a Termux/terminal en uso ordinario. Lo investigaré, ¡gracias!0 votos
No creo que Editor funcionaría incluso con un argumento correcto. Traté de cargar un archivo no-dcard en él dentro de sí mismo y simplemente no pudo cargar.