No es una solución perfecta pero debería ayudarte. A continuación del texto preformateado hay un script muy simple que puede abrir una serie de marcadores que están etiquetados con una palabra clave particular. Cada marcador se abriría en el navegador seleccionado por defecto para el tipo de URL del marcador.
script
#!/system/bin/sh
list=/data/media/0/bms\_list;
keyword="$1";
browser="$2";
mkfifo $list;
# force-stop default browser
\[\[ "$browser" \]\] && am force-stop "$browser";
# get URL of bookmarks associated with the supplied keyword
content query --uri content://org.mozilla.firefox.db.browser/bookmarks --projection url --where "keyword='$keyword'" | busybox sed 's/.\*url=//g' > $list &
# Take each URL from the saved output and launch it using the default browser
while read line; do
am start -a android.intent.action.VIEW -d "$line" --activity-exclude-from-recents;
sleep 1;
done < $list
rm $list;
Requisitos previos
Estos son los requisitos previos para que el script funcione:
-
Usted debe tener acceso a root 1 .
-
Busybox debe estar instalado y disponible en la variable PATH.
-
Navegador Firefox para Android es necesario. Se requiere porque Chrome no soporta etiquetas, las carpetas de marcadores no son visibles a través del proveedor de contenido de Chrome y sería doloroso para mí si comienzo a analizar el archivo de marcadores de Chrome disponible en su directorio privado. No probé con otros navegadores, así que esa es otra razón por la que hice de Firefox un prerrequisito.
Hay que tener en cuenta que no estás obligado a utilizar el navegador Firefox como conductor diario pero sólo para hacer y mantener los marcadores en él para que sean ordenados a través de palabras clave particulares. El navegador Firefox no soporta múltiples palabras clave para bookmakrs, a partir de la v44.0.2.
Para añadir una palabra clave: Marca un enlace en Firefox, ve a la pestaña Marcadores, haz una pulsación larga en tu marcador → Editar → añade tu palabra clave en Palabra clave.
No he probado con una palabra clave que contenga un espacio, así que si el script no funciona con una palabra clave que contenga espacio(s), sustituye el espacio(s) por _ en tus marcadores y luego prueba el script.
-
Sólo he probado esta solución con Firefox y Chrome, por lo que no puedo garantizar que funcione con cualquier navegador. Sin embargo, el sentido común dicta que si se trata de un navegador para la navegación casual, se habría registrado para una intención que tiene un tipo de datos URL, por lo que el navegador no debería tener ningún problema con mi script.
Nota: Por alguna razón, Firefox no pudo manejar la serie de marcadores después de algún tiempo y se estrelló. Por otro lado, Chrome v45.0.2564.95 no se bloqueó ni una sola vez.
Así es como se puede ejecutar el script después de guardarlo en /sdcard con extensión .sh :
Ejecución del script
Instalar una aplicación de emulador de terminal y ejecutar:
su -c 'sh /sdcard/FILE KEYWORD BROWSER'
Ejemplo:
su -c 'sh /sdcard/bms\_launch.sh Stack\_Exchange com.android.chrome' # this would launch all the bookmarks tagged with the keyword Stack\_Exchange in the default browser com.android.chrome
Lo que hay que saber:
- ARCHIVO : nombre de archivo del script, por ejemplo: bms_launch.sh
- PALABRA CLAVE : la palabra clave a la que deben buscarse todos los marcadores asociados y lanzarse en el navegador por defecto
-
BROWSER : nombre del paquete de su navegador por defecto. Para conocer el nombre del paquete, siga ¿Ver el nombre completo del paquete de la aplicación?
Nota: no es necesario proporcionar el nombre del paquete del navegador por defecto. Lo utilicé porque tuve que forzar la parada de Chrome ya que éste causaba alguna complicación sin forzar la parada.
Ejecución conveniente
Cómo ejecutarías este script en tu dispositivo es algo que debes decidir. Yo puedo recomendar estos dos métodos. Cualquiera de ellos sería suficiente.
1 El acceso a root es necesario porque no sé cómo generar (y analizar fácilmente) una lista de marcadores de algún navegador <em>dinámicamente </em>. Incluso si puedo tener esa lista, no podría continuar a menos que sepa que esos marcadores pueden ser ordenados usando una etiqueta o una palabra clave. Por eso elegí Firefox y el acceso Root.
La dependencia de una sola palabra clave puede causar inconvenientes, pero le he dado una idea (posiblemente buena). Si tu navegador preferido soporta múltiples etiquetas/palabras clave para los marcadores, entonces no deberías tener ningún problema en ajustar mi script según tus necesidades.