![]() |
|
Tasker Para hablar de todo lo relacionado con la aplicación tasker |
«
Tema Anterior
|
Siguiente tema
»
|
Herramientas |
#1
|
Como lanzar una app de manera dinámica (con variable) y como obtener el nombre de las apps
Extraido de:
http://tasker.dinglisch.net/userguid...t.html#loadApp leemos: "loadApp var ok = loadApp( str name, str data, bool excludeFromRecents ) Start up the named app. Name can be a package name or app label, it's tested first against known package names. Note: app label could be localized to another language if the script is used in an exported app. Data is in URI format and app-specific. When excludeFromRecents is true, the app will not appear in the home screen 'recent applications' list." LANZAR APPS CON JAVASCRIPLET: ( se puede mejorar sobre todo usando variables locales) A1: Establecer variable [ Nombre:%app A:WhatsApp Calcular:Apagado Añadir:Apagado ] A2: JavaScriptlet [ Código:var ok = loadApp(app); Librerías: Salida Automática:Encendido Cuenta atrás (segundos):45 ] OBTENER NOMBRES DE APPS EN UN ARRAY: A1: Array Clear [ Nombre:%Aab ] A2: List Apps [ Tipo:Aplicación Coincidir: Almacenar Resultado en:%aaa ] A3: Establecer variable [ Nombre:%con A:1 Calcular:Apagado Añadir:Apagado ] A4: For [ Variable:%for Ítems:%aaa( ![]() A5: Buscar y Reemplazar Contenido de Variable [ Variable:%for Buscar::.* Ignorar Caso:Apagado Multilínea:Encendido Una sola coincidencia:Apagado Almacenar Coincidencias En: Reemplazar Coincidencias:Encendido Reemplazar Con: ] A6: Probar App [ Tipo:Nombre Paquete Datos:%for Almacenar Resultado en:%Aab(%con) Continuar Tarea Tras Error:Encendido ] A7: Sumar a variable [ Nombre:%con Valor:1 Módulo (wrap around):0 ] Si (if) [ %Aab(%con) !~ %* & %Aab(%con) !~ %for ] A8: End For Nota: si no quieres almacenar los nombres de los apps para luego cambia la variable de usuario %Aab por una local %aab, y suprime la acción A1 de borrar array. Con variables locales la tarea va mucho más rápida. Enviado desde mi T1-701u mediante Tapatalk Última edición por mlesir Día 23/03/16 a las 14:54:19 |
Los siguientes 5 usuarios han agradecido a mlesir su comentario: | ||
|
#2
|
|
Cita:
![]() ![]() Una vez "visto" el funcionamiento, y con tu permiso ![]() Código:
ListaApps (666) A1: List Apps [ Tipo:Aplicación Almacenar Resultado en:%pak ] A2: For [ Variable:%num Ítems:1:%pak(#) ] A3: Buscar y Reemplazar Contenido de Variable [ Variable:%pak(%num) Buscar::.* Reemplazar Coincidencias:Encendido Reemplazar Con: ] A4: Probar App [ Tipo:Nombre Paquete Datos:%pak(%num) Almacenar Resultado en:%app(%num) ] A5: End For El funcionamiento es simple...
![]() |
Los siguientes 3 usuarios han agradecido a WillyWeb su comentario: | ||
#3
|
Interesante tu revisión. Te explico porque hice asi lo del contador:
1-La acción de Probar App a veces devuelve el mismo valor que se le dió (xej: com.android.noseque) o lo deja vacío. Por eso el contador con el if. De esa manera la siguiente "prueba" que hagamos y que arroje un resultado válido machacara o se meterá en la variable donde se guardó el resultado no válido. 2- Esta claro que en mi tarea sobra A1, borrar la variable %Aaa. Se me quedo ahi esa acción. Edito el post y la suprimo. Lo que no esta claro es que sobre el borrar arrays. Si por un casual hacemos esta garea y nos da por ejemplo 122 resultados, si despjés de tiempo la ejecutamos y tenemos menos apps instaladas, digamos que nos da 111, del 112 al 122 el array va a contener los viejos valores, mostrandonos apps q ya no tenemos. Si estoy de acuerdo en que sobraría el borrar array de %Aab porque es una tonteria hacerlo con variable de usuario y no con locales. En principio no queremos para nada el nombre de los paquetes. 3-Esta claro que utilizando variables locales se hace mucho más rápido pero eso ya depende de lo que se quiera hacer después. Si quieres conservar el nombre de las apps tendrás que utilizar variables de usuario. Edito el post con tus sugerencias. Enviado desde mi T1-701u mediante Tapatalk |
Gracias de parte de: | ||
#4
|
|
Cita:
![]() Desde luego. Usando variables globales lo correcto es limpiar el array antes de llenarlo de nuevo, pero yo he usado variables locales y eso no es necesario. Todavía le tengo que dar una vuelta más a esto, pero ahora mismo no tengo tiempo. Volveré ![]() |
Gracias de parte de: | ||
Respuesta |
![]() |
||||||
|
«
Tema Anterior
|
Siguiente tema
»
|
|
Hora actual: 12:25:24 (GMT +2)
HTCMania: líderes desde el 2007