|
||
|
|
|
|||||||
| Tasker Para hablar de todo lo relacionado con la aplicación tasker |
![]() |
|
|
Herramientas |
|
#1
|
||||
|
||||
|
Algunas dudas respecto al desarrollo de aplicaciones
Introducción breve de quien soy
![]() Hola a todos, soy SeventhLord (un apodo derivado de viejas épocas de jugar AoE , tengo 19 años, soy de Argentina y estoy en 2do año de Ingeniería Electrónica.Me imagino que notarán que soy un usuario nuevo en el foro (aunque llevo varios meses remitiéndome a él y el de XDAd para buscar información), y no me gustaría venir a pedir consejos sin presentarme un poco Uno de mis principales intereses en Android desde hace 6 meses aproximadamente (fecha en que compre mi primer SmartPhone) ha sido el desarrollo de tareas y perfiles en Tasker. Llevo ya un tiempo experimentando con la aplicación, cuyo interés surgió de haber empezado programación (en lenguaje C para ser específico) de donde conseguí conocimientos básicos como estructuras condicionales, iterativas, etc. Mi perfiles mas importantes en Tasker actualmente son: - Bloqueo de aplicaciones: Si , lo se, hay una acción específicamente diseñada para eso, cosa que vi luego de haber terminado casi en su totalidad el perfil, en uno de mis primeros meses con Tasker. De todas formas, me encariñé con mi escena luego de varios días de programarla, además de tener la opción de tomar una foto al intruso, una bonita secuencia de parpadeo de los botones con reproducción aleatoria de la música, un desbloqueo secreto (mantener presionado unos botones, una forma secundaria de desbloquear el teléfono en caso de no recordar la contraseña), etc. - Antirrobo/Perdida: (Terminada, sin escena, con edición de preferencias desde Tasker) La activación se basa en la entrada de un SMS o Email con la palabra Robado o Perdido de un cierto contacto, que dependiendo de cada una se ejecuta una serie de acciones (en el caso de ser Robado se ejecutarán en modo "silencioso" o en lo mas segundo plano posible, para evitar que el señor ladrón note o detenga su ejecución) dentro de las cuales responde con las coordenadas del dispositivo y empresa de telefonía, activa Airdroid, y por supuesto, bloquea las aplicaciones personales (con la aplicación anterior) pero no el móvil para ganar algo de tiempo y así poder dar una visita al caballero. - Otros perfiles: Los cuales no vale la pena detallar, como sincronización automática (para permitir la activación del perfil anterior con un Email), desbloqueo/bloqueo del móvil dependiendo del estado del sensor de proximidad y posición del móvil según el giroscopio, activación de diversas escenas con gestos (obsoletas luego de instalar Xposed y GravityBox al tener atajos en botones físicos) , activar/desactivar patrón de desbloqueo, etc. Luego de la "breve" introducción de quien soy y mis perfiles, les expreso mis problemas: Estoy en progreso de pasar mis dos perfiles principales antes mencionados (así como otros no tan importantes) a aplicaciones independientes de Tasker para usuarios finales usando AppFactory. Ya he creado algunas interfaces de usuario para el primer perfil (adjunto las imágenes, no critiquen la rusticidad, es solo una Beta que comencé ayer a la tarde ¿Hay alguna manera simple de agregar una "elección de contextos" del perfil en una escena? Tanto para ese perfil como los demás ¿De alguna forma puedo evitar que estas aplicaciones puedan ser "matadas" por Administradores de Tareas o Task Killers? También me gustaría saber si hay alguna variable disponible para detectar en que escena estoy "posicionado",es decir, la ultima escena que se muestra y esté abierta, ya probé con variables como %scene_name sin resultado En fin, gracias de antemano Saludos. Screenshot_2014-05-18-23-02-32.jpg Screenshot_2014-05-18-23-03-23.jpg Screenshot_2014-05-18-23-34-45.jpg Screenshot_2014-05-18-23-35-13.jpg Screenshot_2014-05-18-23-35-11.jpg Screenshot_2014-05-18-23-35-48.jpg Última edición por SeventhLord Día 19/05/14 a las 06:13:02. |
|
|
|
#2
|
||||
|
||||
|
Bienvenido Seventhlord al subforo Tasker y gracias por esa presentación. Mola conocer un poco sobre los compañeros.
Antes de nada recomendarte como a todos los que escribís por primera vez que leáis el post con chincheta de recomendaciones: http://www.htcmania.com/showthread.php?t=622394 Por un lado la verdad es que imcumples varias recomendaciones, sobre todo la de no mezclar temas o la de escribir un título adecuado. Aquí solemos ser un poco quisquillosos con estos temas, para que el subforo este lo más ordenado posible, y para que luego una persona pueda encontrar respuesta a sus dudas en el tema que has creado. Pero también es verdad que el post está muy bien escrito, muy claro y tiene cierto sentido que hayas metido todo en un mismo tema. Después de este simple comentario para que la próxima lo tengas en cuenta vamos al lío: 3- Empiezo por el último punto. El nombre de las escenas de tu app donde esta el usuario lo puedes saber con la variable %WIN. Prueba a crear un contexto de variable/valor de variable, en accion le pones flash %WIN. Habilitalo y vete moviendo por tu app o donde quieras. Irás viendo los valores que coge %WIN. También tienes un script o comando linux que puedes usar. Está en la sección de scripts del recopilatorio. Por otro lado si sólo quieres saber el nombre de las escenas de tu app para saber en cual está tu usuario, en las escenas, si les pones que sean del tipo actividad veras que en propiedades de la escena te aparece la pestaña teclas o eventos, no recuerdo ahora exactamente el nombre. Esto te permite controlar que pasa si el usuario le da a Back o Inicio, incluso bloquear la pulsación. La variable %scene_name no sabía de su existencia. En todo caso te aviso si no lo sabes tu ya, que es una variable de tipo local. Por lo tanto sólo está disponible en la tarea en que se crea. Para más información lee la guía y los tipos de variables que existen. 2- Sobre los task killers ni idea. 1- Déjame pensarlo con más tiempo porque no es fácil.
__________________
Fdo: Mlesir. Miembro del equipo que promueve el foro y el recopilatorio de Tasker http://www.htcmania.com/forumdisplay.php?f=969
|
| Gracias de parte de: | ||
|
#3
|
||||
|
||||
|
Establecer variable %EscenaEnPantalla a "EscenaOscuraConNumeros" Si añades una acción de este tipo junto a cada acción que muestre las diferentes escenas (o las destruya), pues ya tienes la variable que podrás consultar en cualquier tarea. Espero que te sirva.
__________________
Firmado: Caravantes, miembro del equipo que promueve el Subforo de Tasker
|
| Gracias de parte de: | ||
|
#4
|
||||
|
||||
|
Muchas gracias por responder a esa duda, mlesir y Caravantes (y por tus consejos mlesir) . También había probado con la variable %WIN sin lograrlo ya que solo me aparecía el nombre variable textualmente como si no tomara ningún valor. De todos modos ya solucioné ese inconveniente con una solución similar a la que ha dicho Caravantes.
Cita:1- Déjame pensarlo con más tiempo porque no es fácil.
![]() Saludos. |
|
#5
|
||||
|
||||
|
Lo que quieres hacer de que en una app que crees con App Factory el usuario elija la aplicacion/es y luego estas se bloqueen hasta que se introduzca un código o lo que sea, "no se puede hacer" (luego entenderás las comillas).
Esto que quieres hacer tiene dos problemas. 1- Saber que aplicación se esta ejecutando. Posibles soluciones: a- Variable de sistema de app en primer plano o similar: no existe ( tan sólo hay %LAPP,última aplicación, y no funciona) b- Contexto que te de esa informacion: el de aplicación pero no es dinámico, no nos vale. c-Plugin o App con integración que nos de la información: no conozco ninguna, quizás haya, en todo caso el usuario final también tendría que instalarla. d- Saber la pantalla que se esta mostrando: con la variable %WIN y un contexto de evento/nueva ventana (teniendo en accesibilidad habilitado Tasker) se puede saber. Por aquí igual se podría hacer algo pero: comprobarás que el nombre que te da %WIN a veces no es muy exacto. Con ciertas ventanas el contexto no se dispara y/o %WIN no es capaz de saber el nombre de la ventana o escena. e- Utilizar Script o comandos linux: cuando algo no se puede hacer este método suele ser la penúltima bala en recámara. Mira tu mismo a ver si esto te vale: http://www.reddit.com/r/tasker/comme..._package_name Con el script hay otra posibilidad que es el comando dumpsy window ( mira sección script del recopilatorio). Quizas al darte información sobre la ventana que se esta mostrando te diga que paquete la esta utilizando. La manera de disparar la tarea que ejecuta este chequeo sería la anterior: evento/nueva ventana. e- Esta si que para mi es el último tiro: los intents. A lo mejor consigues que con el contexto de get intent Tasker este atento a cualquier intent y que si coincide con el paquete que se quiere bloquear actúe. Lo veo harto complicado. Las apps a pesar de no estar en primer plano ejecutan acciones, por ejemplo gmail la de sincronizar, o sea que tendrías que diferenciar. No le veo futuro a este camino pero... 2- Por si esto fuera poco ahora viene el segundo problema: saber que aplicaciones quiere el usuario bloquear y presentarselas. a- Variable de Tasker: tampoco existe b- En algún sitio esa información tiene que estar en Android y quizas Tasker pueda saberla: Cito al compañero Maid450 "Todas las aplicaciones al instalarse crean una carpeta en /data/data con su package name como nombre de carpeta" Si se puede saber las apps instaladas. Habría eso si que listarlas pero esto se puede hacer, para saber cómo busca en el foro. PROBLEMA: esto da el nombre del paquete, o sea "com.google.gmail" por ejemplo. Al usuario hay que presentarle el nombre. Para eso tienes la acción miscelaneo/Test o Prueba/ eligiendo package name. Esto nos da el nombre de un paquete. Con un FOR y utilizando un array que tenga los nombres de los paquetes lo haces. Resumiendo: se puede hacer? SI La prueba es que de hecho hay aplicaciones que lo hacen, o sea que poder se tiene que poder hacer, otra cosa es que haya a lo mejor que incluso descender a el infierno de utilizar Java o lo que puñetas haga falta...y que sepas claro. La verdad es que eso del SI o NO se puede con Tasker es muy relativo, es tan potente la app que yo nunca diría que no se puede. Te pongo el ejemplo de mandar y leer whatsapp. Pensabamos que no se podía hasta hace poco jeje. Ahhora, ¿merece la pena habiendo Apps que lo hacen y tienen integración con Tasker...? Como ves tienes trabajo para un rato si quieres seguir siendo cabezón (OJO que lo digo con todo el cariño porque lo entiendo perfectamente, y el primer cabezón soy yo). P.D: aunque sean muy básicos esos perfiles que comentan pueden ser útiles para algunos, aunque sólo sean para tener una referencia, si te animas y cuando puedas publicalos.
__________________
Fdo: Mlesir. Miembro del equipo que promueve el foro y el recopilatorio de Tasker http://www.htcmania.com/forumdisplay.php?f=969
|
| Gracias de parte de: | ||
|
#6
|
||||
|
||||
|
Muchas gracias por la respuesta Mlesir, se nota que has puesto esfuerzo en responder la pregunta teniendo las cosas claras acerca del tema.
Entiendo que sería algo muy complicado de hacer, alguna vuelta le encontraré supongo (encontré una forma de variar mi idea inicial) , de todas formas es algo que me divierte programar en Tasker, incluso si no tiene un fin conciso o posible. Agradezco mucho tu tiempo y me disculpo por no haber contestado durante un tiempo, la facultad (universidad) no esta muy amigable en esta época Saludos |
| Gracias de parte de: | ||
|
#7
|
||||
|
||||
|
Pues aunque la facultad no esté amigable tu no tengas prisa por salir q el mercado laboral esta peor. Aunque sea métete a la Tuna. ;)
__________________
Fdo: Mlesir. Miembro del equipo que promueve el foro y el recopilatorio de Tasker http://www.htcmania.com/forumdisplay.php?f=969
|
![]() |
Estás aquí
|
||||||
|
||||||