Ver Mensaje Individual
  #8  
Viejo 11/05/13, 01:45:24
Avatar de Caravantes
Caravantes Caravantes no está en línea
Usuario muy activo
Mensajes: 2,200
Compra y venta: (1)
 
Fecha de registro: feb 2011
Mensajes: 2,200
Modelo de smartphone: Samsung Galaxy S9
Versión de ROM: Android 8
Tu operador: Lowi
Mencionado: 59 comentarios
Tagged: 4 hilos
Resumiendo y concretando el tema de detectar otra aplicación, para dummies: en una tarea de Tasker podemos saber si otra app concreta está funcionando, ya sea en primer plano o en segundo plano, y dependiendo de eso se pueden tomar decisiones dentro de la tarea. Los detalles son los siguientes.

En primer lugar hay que conocer el nombre que la aplicación tiene dentro de Android. Es lo que técnicamente se llama package name, y la forma más sencilla de obtenerlo es buscar la aplicación en la web de Google play y fijarse en la URL del navegador: el package name es lo que aparece tras el "id=" (y antes del primer "&", si es que lo hubiera).
Por ejemplo, para la app Android Terminal Emulator la URL puede ser
https://play.google.com/store/apps/details?id=jackpal.androidterm
o algo más largo como por ejemplo
https://play.google.com/store/apps/details?id=jackpal.androidterm&feature=nav_result#?t=W251bGwsMSwyLDNd
Pues bien, en ambos casos se ve que el package name es
jackpal.androidterm
De forma similar, debes obtener el package name de la app que tú quieras controlar.

Ya en Tasker, hay que usar la acción (del grupo Script) llamada Ejecutar-consola. En la casilla del Comando ponemos
cat /proc/$(pgrep jackpal.androidterm$)/oom_adj
sustituyendo jackpal.androidterm por el package name de la aplicación que hayas elegido. La acción Ejecutar-consola tiene, más abajo, una casilla rotulada como Almacenar Salida En ; ahí podremos el nombre de una variable que recoja la información devuelta por el comando; por ejemplo podemos escribir %salida.
Y bastante más abajo hay que marcar una opción que lleva el rótulo Continuar Tarea Tras Error.

Con eso ya hemos terminado de configurar esta acción. Cuando la tarea se active, Android ejecutará el comando y devolverá una u otra información según sea el estado de la aplicación. A los efectos que nos interesa, si la app está ejecutándose (en primer o segundo plano) el comando devolverá o bien el valor 0 (cero) o bien el valor 2 (dos). O sea que, a continuación, podemos usar en la misma tarea una condición en base a la variable que hayamos usado, del tipo siguiente
Si(If) %salida ~ 0/2
(Si %salida coincide con cero o dos) que será cierta si la app se está ejecutando. O bien podemos usar una condición del tipo contrario
Si %salida !~ 0/2
(si %salida no coincide con cero o dos) que será cierta si la app no se está ejecutando.

Eso es todo. Si quieres más información, lee este hilo desde el inicio, y/o la página siguiente:
http://www.htcmania.com/showthread.p...95#post7356195
Responder Con Cita
Gracias de parte de: