sábado, 29 de junio de 2013

Tasker es una de las mejores aplicaciones de Android, debido a que permite automatizar muchas acciones repetitivas o rutinarias, mediante la planificación de tareas de forma secuencial.

Lo que mucha gente no sabe, es que hay un componente de Tasker, que se puede bajar completamente gratis desde Google Play, que permite convertir esas secuencias de tareas o Proyectos, en aplicaciones completamente independientes de Tasker y que pueden ser instaladas en cualquier equipo (dependiendo de la versión de Android). Dicho componente se llama Tasker Factory

La idea de este artículo, es motivarlos a desarrollar Aplicaciones (apks) que les sirvan a ustedes mismos o a otras personas. Para ello voy a usar un pequeño ejemplo de aplicación anti-robo.

Aplicación Anti Robo
Hay muchas cosas que podríamos hacer para una aplicación anti-robo, sin embargo, ninguna va a evitar que se les pierda su equipo o se lo roben. Entonces que se puede hacer? En mi opinión, la idea de este tipo de aplicaciones es saber quien tiene mi teléfono y donde está.

Lo que normalmente hacemos al perder nuestros equipos, es reportar el SIM ante el operador telefónico, para evitar que el ladrón pueda gastar nuestro plan o hacer llamadas costosas. A partir de ese momento, perderemos la oportunidad de saber quien lo tiene. Para solventar eso, haremos una aplicación que detecte cuando cambien el SIM card del teléfono y envíe un SMS a un número predefinido con la ubicación en coordenadas.

Todo esto funcionará muy bien, siempre y cuando no formateen, hagan wipe o reestablezcan los datos de fábrica. Sin embargo, si ustedes son root, podrán mover el apk a /system/app y con ello su aplicación quedará permanentemente* en el equipo.

Para facilitar la Guía, acá les comparto el archivo de proyecto de la aplicación, y les resulte mas sencillo seguir los pasos SIM.prj.xml

Pasos a seguir:
1. Copien el archivo SIM.prj.xml en la carpeta Tasker/projects/
2. Dejen presionado el ícono de la casita, Import y seleccionen el achivo SIM


3. Posiblemente les de un mensaje de advertencia, ignórenlo. Deberán ver un nuevo proyecto en la barra inferior y los siguientes Profiles (son los que le indican a Tasker, cuando se deben activar las tareas). Ustedes podrán crear sus propios Profiles observando como funcionan estos.

SIM - Encendido : Se activa cuando se enciende el teléfono.
SIM - Cada Hora: Se activa cada hora
Received Text Any *.* : se activa cada vez que se recibe un SMS (*) no activen este por ahora.

Para activarlos, solo deben hacer click en donde dice OFF. En los primeros dos casos, cada vez que se activen, enviará un SMS a un número predefinido, con el teléfono y los datos de ubicación. Sin embargo, todavía no lo han configurado, así que mejor los activan al final.


4. Hagan click en la pestaña de tareas (Tasks), allí podrán ver las acciones que ejecutará el teléfono cuando se cumplan las condiciones que colocamos en los Profiles.


5. Abran la tarea SIM - Copy y ejecútenla,  de esta forma copiarán el Serial de su tarjeta SIM Card en el portapapeles de su equipo


6. Entre en la tarea SIM - Validación, y pegue el contenido del portapeles en la tarea #3. Es un numero largo de hasta 19 dígitos, que identifica de forma única su SIM card (ojo, a manera de ejemplo, dejé un 1 escrito. Asegúrese de pegar el número que copió en el paso anterior)

Si se preguntan porque estamos colocando ese serial directamente, en vez de usar una variable, es para evitar usar al máximo, variables que puedan ser borradas en caso que restablezcan los datos de fábrica del equipo.


7. Entre en la tarea #4 y coloque el Número Celular que desea que reciba los SMS, en caso que se le pierda el equipo. Sugiero usar la codificación internacional +58 y el resto del número sin el cero. Ejemplo +584169999999. Si desea colocar varios números, puede usar ; como separador.


8. Ya en este punto, su aplicación está configurada para funcionar. No voy a entrar en el detalle de cada una de las tareas, pero si me parece conveniente explicar, como funcionará.. 

En la tarea #10, se verifica si el serial que actualmente tiene el equipo, coincide con el que previamente guardaron. En este caso, activará una variable llamada %ROBO, que será usada posteriormente, y se enviará un SMS al número que hemos predefinido.



Usted puede cambiar el texto por el mensaje que desee, podrá ver que dentro del mensaje se envía la ubicación del equipo, gracias a que previamente se activó la ubicación por GPS. Es importante destacar, que no siempre se puede conseguir encender el GPS ni obtener la ubicación, si se encuentra en un área cerrada. Pero al menos tendrá el nuevo número del equipo.


9. Ahora si podemos regresar a la pestaña de perfiles y activar los perfiles :
SIM - Encendido 
SIM - Cada Hora

Hay un tercer perfil (Received Text Any), que de forma opcional podrían activar y consiste en contestar cada uno de los SMS que el ladrón vaya recibiendo, con un mensaje predefinido indicando que es un teléfono robado. El problema de activar esto, es que obviamente alertará al ladrón que usted dejó algo instalado en su equipo. Así que lo dejaré a su decisión.



10. Ahora procedererán a generar la aplicación. Para ello, deben salir a la pantalla principal, y dejar presionado el ícono del proyecto ( el cual pueden cambiar si lo desean) y seleccionan Export. Recuerden que deben tener instalado Tasker Factory para que les aparezca esta opción.


11. Pueden dejar el nombre del Package como está, o si prefieren pueden generar otro con un nombre mas discreto (todo debe estar en minúscula). Las últimas letras, serán el nombre de nuestra Aplicación o APK.

También pueden observar el nombre de la tarea que se ejecutará al iniciar la Aplicación en:
Launc Task : SIM - Validación


12. Para que se genere la aplicación, deben presionar el botón Back o retroceso de su teléfono. Es extraño que no haya un botón dedicado en la App y no es intuitivo. Pero así funciona. Al finalizar le mostrará el ícono de un Androide, con el cual podrán instalar la aplicación en su equipo.


13. Finalmente, el paso mas importante en caso que sean Root, consiste en mover la aplicación al área de Sistema, con la finalidad que sobreviva a un Wipe o Reestablecimiento de datos de fábrica. Para ello, yo suelo usar Titanium Backup, aunque también hay otras aplicaciones que lo permiten, e inclusive lo pueden hacer por comandos de consola, si tienen experiencia.



Entran en Titanium Backup, seleccionan la aplicación y deslizan la pantalla hacia uno de los lados para que le muestre el siguiente menú y seleccionan "Convert to system App" o convertir a aplicación del Sistema.


Para comprobar que todo funciona, pidan prestado un SIM card a otra persona y enciendan su equipo. Debería enviar el SMS aproximadamente al minuto de encender y posteriormente cada hora.

Es importante destacar, que la idea de este tutorial es darles una base desde donde empezar. Se que se pueden hacer muchas mas cosas con una aplicación de este tipo. De hecho se pueden hacer tantas cosas, que prácticamente le pudieran estar dejando un Malware instalado en el equipo de la persona que les robe el equipo.

Podrían fastidiarlo al máximo, sonando alarmas a media noche. Reiniciar el equipo, mostrarle mensajes en la pantalla, mandarle comandos de forma remota, enviar cientos de SMS por hora.. Y los mas osados ( y con mas conocimientos de comandos shell) podrían ir mas allá, borrando datos, aplicaciones o sobrecalentando el equipo hasta que se FUNDA!!!

Espero que se animen y si tienen alguna duda, sugerencia o mejora que hacerle a la aplicación, lo escriban en los comentarios para tomarlo en consideración.

15 comentarios:

  1. yo no conocia esta aplicacion, una de las cosas que mas extrañana de iOS es los tweaks con tareas sencillas como por ejemplo configurar el telefono para que no te pida contraseña de desbloqueo cuando estas en una wifi conocida. Gracias al tasker, los tutoriales de titulares android y la medicina sistemica, ahora pude hacer una tarea que dependiendo en la celda que este conectada la red movil, me pida o no el patron de desbloqueo... jejeje... Esta semana no duero haciendo miles de tareas y aplicaciones con estas herramientas... gracias titulares android (con tono de propaganda de televenta) jajajaja! saludos

    ResponderEliminar
  2. Jajaja, excelente. Por acá estamos a la orden ante cualquier duda. Saludos

    ResponderEliminar
    Respuestas
    1. bueno, ya logre hacer lo activar y desactivar el desbloqueo por patron, pero a la final lo hice por wifi conectado porque con lo de las celdas era medio inestable. esta vez hice una lista de los ssid de confianza y cada vez que se conecta a una wifi busca en esa lista para ver si desactiva o no la solicitud de patron al bloquear la pantalla. lo que no se es como exportar el proyecto para compartirlo... se me ocurre ahora hacer unas ventanas para administrar esa lista de ssid confiables pero aun no logro dar en el blanco con lo de las escenas.

      Eliminar
  3. Para que puedas exportar tu proyecto, las tareas que haz creado deben estar en un proyecto aparte. No deben estar en la casita (HOME) . Para ello debes dejar pisado el icono de HOME, y te mostrará un menú dónde seleccionas la opción ADD (+), y colocas un nombre a tu proyecto. Luego pasas todas las tareas y profiles a ese proyecto (puedes exportarlas, borrarlas e importarlas en el nuevo proyecto). Cuando hayas hecho eso, podrás exportar tu proyecto. Saludos

    ResponderEliminar
    Respuestas
    1. listo, aqui esta el proyecto para que le eches un ojo a ver que tal y lo publiques por ahi por si a alguien mas le interesa.

      https://dl.dropboxusercontent.com/u/12543437/tasker/Enable_Disable_PatterLock.prj.xml

      Mas adelante le agrego opciones para que en vez de patron, lo haga con pin de bloqueo.

      saludos

      Eliminar
    2. Excelente.. Más tarde pruebo.. Si quieres, también puedes hacer un artículo explicativo y lo envías a titularesandroid@gmail.com y lo podríamos publicar como artículo de nuestros colaboradores..

      Eliminar
    3. ah bueno chevere, voy a hacerlo y se los paso.

      Gracias

      Eliminar
    4. intente pasar el plugin de secure settings como aplicacion del sistema con titanium para ver si podia usar mi proyecto como aplicacion del sistema y que va, el titanium se queda pegado.

      Eliminar
  4. Me encanta!Crees que con esta app puedo hacer una que al abrirla se vean unas 8 o 9 fotos preestablesidas previamente?o varios botones y cada boton con una foto guardada.Me ayudariais mucho si me desis si puedo o no y con un tutorial ya os lo agradeceria muchisimo
    Muchas gracias!

    ResponderEliminar
  5. Buenos dias Antonio.

    Muy bueno tu desarrollo... Consulta

    Me da error al querer pasar la aplicacion a apk, me dice te duplico las ultimas lineas

    15.package APK
    16.sing APK
    error: failed
    Cancelled

    Alguna idea de que puede ser...

    Saludos y desde ya muchas gracias

    ResponderEliminar
  6. Hola, tengo un lanix s700 ya soy usuaria root también ya descargué link 2 SD y he movido aplicaciones pero aun me faltan algunas como Facebook que me dice que la segunda partición no ha sido encontrada y cuando la quiero mover a la SD me dice install failed invalid install location, y cabe mencionar que mi teléfono no tiene memoria extraible, tiene tiene 16 gb de memoria interna y 1gb en RAM. El espero me ayuden ya que no me deja descargar más apps porque según ya no tengo espacio de almacenamiento.

    ResponderEliminar
  7. Muy buen aporte. Lo único que me da error la importación, no sé por qué, pero iré realizando los pasos. Mil gracias!!

    ResponderEliminar
  8. Muchas gracias por este artículo tan magnífico. Me has animado a usar Tasker mas.

    ResponderEliminar
  9. Muchas gracias por este artículo tan magnífico. Me has animado a usar Tasker mas.

    ResponderEliminar
  10. Y una vez generado el APK, se puede desisntalar el tasker y funcionara normal el APK o es necesario tener tasker instalado ???

    ResponderEliminar