![]() |
|
| Tasker Para hablar de todo lo relacionado con la aplicación tasker |
«
Tema Anterior
|
Siguiente tema
»
|
|
Herramientas |
|
#61
|
|
Este perfil me tiene muy ansiado!
![]() Sólo por curiosidad, he vuelto a instalar Greenify para ver su comportamiento y de paso tener una idea de cómo plantear o enfocar el perfil que nos ocupa. Bien, cuando abres la app, en la pantalla principal sale "SIN HIBERNAR AUTOMÁTICAMENTE", más abajo "SE HIBERNARÁ DENTRO DE UNOS MINUTOS" y más abajo "EN HIBERNACIÓN". Es decir, Greenify ya sabe que aplicaciones están paradas, por lo tanto ésas quedan a parte y se centra en las que están en primer o segundo plano. Luego si apagamos la pantalla, la app greenificará las apps que tú has predefinido (tanto de sistema como de usuario). Entonces, lo que queremos es las apps que ya están detenidas, ignorarlas. Pudiera ser esto Si if %pid ~ con error (no sé cómo plasmarlo) -ignorar-. Entonces, de esas apps restantes, entiendo que se pueden greenificar sin problemas, porque no detiene nada que no esté en esa lista. Este planteamiento es sencillo, pero sin embargo, me está dando muchos dolores de cabeza.
|
|
|
|
#62
|
|
Recuerda que la mayor parte de las veces programar es automatizar lo mismo que haces a mano.
Código:
A1 pgreg nombre-de-paquete para obtener el %pid de un paquete A2 si %pid tiene valor (la aplicación está en memoria) A3 cat /proc/%pid/oom_adj para obtener el %pidoom (estado de la aplicación) A4 si %pidoom no es menor de 0 (será positivo y por lo tanto no será de sistema) A5 si %pidoom !~ 0 y %pidoom !~ 2 (si el estado no es o ni 2) A6 am force-stop %pid (para la aplicación) A7 fin-si A8 fin-si A9 fin-si Y lo de esos colores rojo/verde es perfectamente normal. Piensa un poco, ¿qué valor tiene %tu variable %pido en el instante en que Tasker está analizando esa condición?. Ojo, no te digo mientras se ejecuta la tarea, te digo justo en ese momento, con la tarea parada.
|
|
#63
|
|
A ver, a ver...
Greenify (62) A1: Ejecutar consola [ Comando:pgrep com.whatsapp ; pgrep com.UCMobile.intl$ ; pgrep jackpal.androidterm ; Cuenta atrás (segundos):0 Usar Root:Encendido Almacenar Salida En:%pid Almacenar Errores En: Almacenar Resultado en: Continuar Tarea Tras Error:Encendido ] A2: Si (if) [ %pid No ajust. ] A3: Ejecutar consola [ Comando:cat /proc/%pid/oom_adj Cuenta atrás (segundos):0 Usar Root:Encendido Almacenar Salida En:%pido Almacenar Errores En: Almacenar Resultado en: Continuar Tarea Tras Error:Encendido ] A4: Else Si (if) [ %pido > -17 & %pido < 17 & %pido !~ 0/2/1/360 ] A5: Ejecutar consola [ Comando:am force-stop %pido Cuenta atrás (segundos):0 Usar Root:Encendido Almacenar Salida En: Almacenar Errores En: Almacenar Resultado en: Continuar Tarea Tras Error:Encendido ] A6: Fin si (End if) Porqué pones tantos Fin si al final? Antes de que digas nada, he hecho un "ps" y además de valores 0 y 2, me salen 1 y 360. Aunque el 1 lo acabo de quitar: es de sistema. Última edición por Mitrhandir Día 05/11/16 a las 12:17:33 |
|
#64
|
|
Para tener tema de conversación
![]() Vamos a ver, si tienes tres IF lo normal es tener otros tres END-IF. No es un capricho, es que debes ponerlos. Y sobre tu tarea. Pues muy bonita, pero se parece a lo que te he propuesto lo que un huevo a una castaña ... en lo redondo del culo. |
|
#65
|
Es que estoy hecho un lío! Apruebas (44) A1: Ejecutar consola [ Comando:pgrep com.whatsapp ; pgrep com.UCMobile.intl$ ; pgrep jackpal.androidterm ; Cuenta atrás (segundos):0 Usar Root:Encendido Almacenar Salida En:%pid Almacenar Errores En: Almacenar Resultado en: Continuar Tarea Tras Error:Encendido ] A2: Pop-Up [ Título: Texto:%pid Imagen de fondo: Disposición:Popup Cuenta atrás (segundos):3 Mostrar sobre bloqueo pantalla:Encendido ] A3: Ejecutar consola [ Comando:cat /proc/%pid/oom_adj Cuenta atrás (segundos):0 Usar Root:Encendido Almacenar Salida En:%pido Almacenar Errores En: Almacenar Resultado en: Continuar Tarea Tras Error:Encendido ] A4: Pop-Up [ Título: Texto:%pido Imagen de fondo: Disposición:Popup Cuenta atrás (segundos):6 Mostrar sobre bloqueo pantalla:Encendido ] A5: Si (if) [ %pido ~ 0/2/360/- & %pid No ajust. ] A6: Ejecutar consola [ Comando:am force-stop %pid Cuenta atrás (segundos):0 Usar Root:Encendido Almacenar Salida En: Almacenar Errores En: Almacenar Resultado en: Continuar Tarea Tras Error:Encendido ] A7: Fin si (End if) |
|
#66
|
|
¿Vas a seguir dando vueltas a esas siete acciones mucho más rato? Ya te aviso que las permutaciones de siete elementos son más de 5000.
En la primera versión hacías cosas sin sentido... A1 sacas el %pid de un paquete A2 si %pid no tiene valor (justo cuando no tienes que hacer nada )A3 sacas el %pido del %pid A4 pero si %pido es mayor de -17 y menor de 17 y distinto de 0, 2, 1 o 360 A5 paras el %pido sacado en A3 A6 fin-si Pero en esta tampoco es que hagas cosas mucho más acertadas... A1 sacas el %pid de un paquete A2 muestras el %pid A3 sacas el %pido del %pid A4 muestras el %pido A5 Si %pido es 0, 2, 360 o - y %pid no tiene valor A6 paras el %pid sacado en A1 A7 fin-si |
|
#67
|
|
Lo sé Willy, y te pido disculpas. Pero estoy muy confundido, porque cuando pienso que la tarea está perfecta, me da error. Y es muy fustrante para un aprendiz como yo no evolucionar. Y mira que me has dado pistas!
|
|
#68
|
|
Mira este a ver:
Greenify (62) A1: Ejecutar consola [ Comando:pgrep com.whatsapp ; pgrep com.UCMobile.intl$ ; Cuenta atrás (segundos):0 Usar Root:Encendido Almacenar Salida En:%pid Almacenar Errores En: Almacenar Resultado en: Continuar Tarea Tras Error:Encendido ] A2: Ejecutar consola [ Comando:cat /proc/%pid/oom_adj Cuenta atrás (segundos):0 Usar Root:Encendido Almacenar Salida En:%pido Almacenar Errores En: Almacenar Resultado en: Continuar Tarea Tras Error:Encendido ] A3: Si (if) [ %pid No ajust. ] A4: Si (if) [ %pido !~ 0/2/360 ] A5: Si (if) [ %pido > -17 & %pido < 17 ] A6: Ejecutar consola [ Comando:am force-stop %pid Cuenta atrás (segundos):0 Usar Root:Encendido Almacenar Salida En: Almacenar Errores En: Almacenar Resultado en: Continuar Tarea Tras Error:Encendido ] A7: Fin si (End if) A8: Fin si (End if) A9: Fin si (End if) Creo que es lo que tú me decías. |
|
#69
|
|
No es tan complicado. ¿Entiendes la secuencia de acciones que te he puesto en el post #62?. ¿Te parece lógica?. Pues simplemente tienes que transcribir, acción por acción, en un atarea.
|
|
#70
|
|
Eso no es lo mismo que pone en el post #62.
|
|
#71
|
|
Lo entiendo todo y tiene sentido, pero cuando una aplicación está ya parada, me da error y ya no sé si la tarea se ejecuta o no.
|
|
#72
|
|
|
Cita:
|
|
#73
|
|
Vamos a ver :
A1 pgreg nombre-de-paquete para obtener el %pid de un paquete A1 Comando consola pgrep (package name) almacenar resultado en %pid A2 si %pid tiene valor (la aplicación está en memoria) A2 Si if %pid ~ ¿? (No tengo muy claro qué poner aquí) A3 cat /proc/%pid/oom_adj para obtener el %pidoom (estado de la aplicación) A3 comando cat /proc/%pid/oom_adj Almacenar resultado en %pidoom A4 si %pidoom no es menor de 0 (será positivo y por lo tanto no será de sistema) A4 Si if %pidoom < 0 A5 si %pidoom !~ 0 y %pidoom !~ 2 (si el estado no es o ni 2) A5 Si if %pidoom !~ 0/2 A6 am force-stop %pid (para la aplicación) A6 am force-stop (package name) A7 fin-si A8 fin-si A9 fin-si Ahora lo trasladaré a Tasker. |
|
#74
|
|||||||
|
Cita:
Cita:
Cita:
Cita:
Cita:
![]() Ojo que yo te he puesto "%pidoom !~ 0 y %pidoom !~ 2" y lo que tú has puesto es "%pidoom !~ 0 o %pidoom !~ 2". Cita:
Cita:
Última edición por WillyWeb Día 05/11/16 a las 16:23:48 |
|
#75
|
|
Porque me he levantado a las 3:30 de la mañana y necesitaba cerrar los ojos un ratito por el bien de mis neuronas. Voy a ello.
|
|
#76
|
|
Greenify (62)
A1: Ejecutar consola [ Comando:pgrep com.oasisfeng.greenify ;pgrep com.vito.lux ;pgrep com.joeykrim.rootcheckp ;pgrep com.whatsapp ;pgrep com.buak.Link2SD Cuenta atrás (segundos):0 Usar Root:Encendido Almacenar Salida En:%pid Almacenar Errores En: Almacenar Resultado en: Continuar Tarea Tras Error:Encendido ] A2: Si (if) [ %pid No ajust. ] A3: Ejecutar consola [ Comando:cat /proc/%pid/oom_adj Cuenta atrás (segundos):0 Usar Root:Encendido Almacenar Salida En:%pidoom Almacenar Errores En: Almacenar Resultado en: Continuar Tarea Tras Error:Encendido ] A4: Si (if) [ %pidoom !~ 0 & %pidoom !~ 2 ] A5: Si (if) [ %pidoom > 0 ] A6: Ejecutar consola [ Comando:am force-stop %pid Cuenta atrás (segundos):0 Usar Root:Encendido Almacenar Salida En: Almacenar Errores En: Almacenar Resultado en: Continuar Tarea Tras Error:Encendido ] A7: Fin si (End if) A8: Fin si (End if) A9: Fin si (End if) Aquí está. A1me da error. Este: 16.36.49/E Ejecutar consola: %pid -> %pid 16.36.49/E Ejecutar consola: -> 16.36.49/E Ejecutar consola: -> 16.36.49/Shell runBackground pgrep com.oasisfeng.greenify ;pgrep com.vito.lux ;pgrep com.joeykrim.rootcheckp ;pgrep com.whatsapp ;pgrep com.buak.Link2SD root: true timeout: -1 16.36.49/Shell start process-thread ID 33076 16.36.49/E add wait type Shell1 time 2147483647 16.36.49/E add wait type Shell1 done Y esta es la captura: |
|
#77
|
|
¿Sólo en A1?
Pues llámame loco, pero lo mismo es por NO SEGUIR EXACTAMENTE mis sugerencias. ![]() Insistes en poner varios paquetes en A1, y no sabes cómo procesar el resultado de eso. La condición de A2 sigue siendo la contraria a la que te había dicho. Las condiciones de A4 y A5 están cambiadas de orden, y la condición de A5 no es lo mismo que "no es menor que 0". Aunque no todo son malas noticias. Este último error me ha permitido ver que te podrías ahorrar un IF y su correspondiente END-IF fundiendo A4 y A5 así ... Si (if) [ %pidoom > 0 & %pidoom !~ 2 ] Estoy ansioso por ver qué nueva interpretación haces ahora. |
|
#78
|
|
Greenify (62)
A1: Ejecutar consola [ Comando:pgrep com.whatsapp Cuenta atrás (segundos):0 Usar Root:Encendido Almacenar Salida En:%pid Almacenar Errores En: Almacenar Resultado en: Continuar Tarea Tras Error:Encendido ] A2: Si (if) [ %pid Ajuste ] A3: Ejecutar consola [ Comando:cat /proc/%pid/oom_adj Cuenta atrás (segundos):0 Usar Root:Encendido Almacenar Salida En:%pidoom Almacenar Errores En: Almacenar Resultado en: Continuar Tarea Tras Error:Encendido ] A4: Si (if) [ %pidoom > 0 & %pidoom !~ 2 ] A5: Ejecutar consola [ Comando:am force-stop %pid Cuenta atrás (segundos):0 Usar Root:Encendido Almacenar Salida En: Almacenar Errores En: Almacenar Resultado en: Continuar Tarea Tras Error:Encendido ] A6: Fin si (End if) A7: Fin si (End if) Ves? Me fallan las neuronas!
|
|
#79
|
![]() Y sólo han sido necesarios 78 post para una tarea de 7 acciones ... a 11 post por acción.
|
|
|
|
#80
|
![]() ![]() ![]() La verdad es que echaba esto de menos. Y te estás ganando el cielo conmigo. Bueno, ahora vamos al siguiente punto: Cómo hacer cuando es más de un package name? Este perfil sólo para los procesos de usuario no? Muchas gracias a todos los que habéis participafo. Tenéis toda mi admiración! ![]()
|
| Respuesta |
Estás aquí
|
||||||
|
||||||
«
Tema Anterior
|
Siguiente tema
»
|
|
Hora actual: 08:26:19 (GMT +1)
HTCMania: líderes desde el 2007










