Tasker Para hablar de todo lo relacionado con la aplicación tasker


 
Herramientas
  #1  
Viejo 28/06/18, 14:08:01
Avatar de SmartPhoneLover
SmartPhoneLover SmartPhoneLover no está en línea
Usuario muy activo
Mensajes: 542
 
Fecha de registro: jun 2016
Mensajes: 542
Tu operador: Movistar
Mencionado: 4 comentarios
Tagged: 1 hilos
noticia Funciones Java en Tasker



Hola Tasker@s!
Abro este hilo con el fin de recolectar todos aquellos grupos de acciones basadas única y puramente en funciones java.

Todos sabemos el gran potencial que tiene y nos ofrece Tasker, aún haciendo uso de sus acciones "preestablecidas". Pero... ¿y si llegásemos a darle uso a la acción 'Funciones Java' en nuestras tareas?

A continuación los recopilatorios...

· Adaptador (bluetooth) -> Consultar Estado | Enceder/Apagar
· Ejecutar Comandos Consola (shell) -> Go!
· Consultar Estado LockScreen (sistema) -> Go!
· Cambiar Perfiles ROM LineageOS -> Go!
· Consultar/Modificar Android Settings (Global, Secure, System) -> Go!

Última edición por SmartPhoneLover Día 28/06/18 a las 18:15:09
Responder Con Cita
Los siguientes 2 usuarios han agradecido a SmartPhoneLover su comentario:


  #2  
Viejo 28/06/18, 14:18:00
Avatar de SmartPhoneLover
SmartPhoneLover SmartPhoneLover no está en línea
Usuario muy activo
Mensajes: 542
 
Fecha de registro: jun 2016
Mensajes: 542
Tu operador: Movistar
Mencionado: 4 comentarios
Tagged: 1 hilos
Aquí tienen un ejemplo para iniciar el hilo:

Código:
    A1: Java Function [ Return:temp Class Or Object:BluetoothAdapter Function:getDefaultAdapter
{BluetoothAdapter} () Param: Param: Param: Param: Param: Param: Param: ] 
    A2: Java Function [ Return:%temp Class Or Object:temp Function:isEnabled
{boolean} () Param: Param: Param: Param: Param: Param: Param: ] 
    A3: Flash [ Text:%temp Long:Off ]
El código de arriba permite conocer el estado del BT. Es decir, si esta encendido o apagado. Los posibles valores son: falsetrue (apagado/encendido).
Responder Con Cita
Los siguientes 2 usuarios han agradecido a SmartPhoneLover su comentario:
  #3  
Viejo 28/06/18, 14:23:37
Avatar de SmartPhoneLover
SmartPhoneLover SmartPhoneLover no está en línea
Usuario muy activo
Mensajes: 542
 
Fecha de registro: jun 2016
Mensajes: 542
Tu operador: Movistar
Mencionado: 4 comentarios
Tagged: 1 hilos
Continuando con las acciones anterior de consultado de estado, a continuación incluyo las correspondientes a encender y apagar el bluetooth:

-> ACTIVAR...
Código:
    A1: Java Function [ Return:temp Class Or Object:BluetoothAdapter Function:getDefaultAdapter
{BluetoothAdapter} () Param: Param: Param: Param: Param: Param: Param: ] 
    A2: Java Function [ Return: Class Or Object:temp Function:enable
{boolean} () Param: Param: Param: Param: Param: Param: Param: ]
-> DESACTIVAR...
Código:
    A1: Java Function [ Return:temp Class Or Object:BluetoothAdapter Function:getDefaultAdapter
{BluetoothAdapter} () Param: Param: Param: Param: Param: Param: Param: ]
    A2: Java Function [ Return: Class Or Object:temp Function:disable
{boolean} () Param: Param: Param: Param: Param: Param: Param: ]
Responder Con Cita
Los siguientes 2 usuarios han agradecido a SmartPhoneLover su comentario:
  #4  
Viejo 28/06/18, 14:52:11
Avatar de SmartPhoneLover
SmartPhoneLover SmartPhoneLover no está en línea
Usuario muy activo
Mensajes: 542
 
Fecha de registro: jun 2016
Mensajes: 542
Tu operador: Movistar
Mencionado: 4 comentarios
Tagged: 1 hilos
Con esto podreis ejecutar comandos de consola, como si lo hiciesemos usando la acción '+ > Code > Run Shell' en Tasker, o usando cualquier otra app de terceros, como Terminal o Termux.

-> Ejecutar comandos normales...
Código:
    A1: Java Function [ Return:temp Class Or Object:Runtime Function:getRuntime
{Runtime} () Param: Param: Param: Param: Param: Param: Param: ] 
    A2: Java Function [ Return: Class Or Object:temp Function:exec
{Process} (String) Param:CMD Param: Param: Param: Param: Param: Param: ]
-> Ejecutar comandos que requieren acceso root...
Código:
    A1: Java Function [ Return:temp Class Or Object:Runtime Function:getRuntime
{Runtime} () Param: Param: Param: Param: Param: Param: Param: ] 
    A2: Java Function [ Return: Class Or Object:temp Function:exec
  {Process} (String) Param:su -c CMD Param: Param: Param: Param: Param: Param: ]
Notas:
- Sustituir 'CMD' de la A2, en el primer parámetro, con el comando + sus posibles argumentos a usar.
- La ejecución de comandos de consola mediante JF no implica una mejora en la velocidad de ejecución de éstos.

Última edición por SmartPhoneLover Día 28/06/18 a las 14:57:20
Responder Con Cita
Los siguientes 2 usuarios han agradecido a SmartPhoneLover su comentario:
  #5  
Viejo 28/06/18, 15:06:57
Avatar de SmartPhoneLover
SmartPhoneLover SmartPhoneLover no está en línea
Usuario muy activo
Mensajes: 542
 
Fecha de registro: jun 2016
Mensajes: 542
Tu operador: Movistar
Mencionado: 4 comentarios
Tagged: 1 hilos
Si queremos consultar el estado actual de nuestro bloqueo de pantalla (KeyGuard)...

Código:
    A1: Java Function [ Return:temp Class Or Object:CONTEXT Function:getSystemService
{KeyguardManager} (String) Param:keyguard Param: Param: Param: Param: Param: Param: ] 
    A2: Java Function [ Return:%temp Class Or Object:temp Function:inKeyguardRestrictedInputMode
{boolean} () Param: Param: Param: Param: Param: Param: Param: ] 
    A3: Flash [ Text:%temp Long:Off ]
Notas:
- Los posibles valores son: false/true (desactivado/activado).
- Hay que agregar manualmente el objeto al que hace referencia en la A1: 'KeyguardManager'.
Responder Con Cita
Los siguientes 2 usuarios han agradecido a SmartPhoneLover su comentario:
  #6  
Viejo 28/06/18, 15:35:19
Avatar de SmartPhoneLover
SmartPhoneLover SmartPhoneLover no está en línea
Usuario muy activo
Mensajes: 542
 
Fecha de registro: jun 2016
Mensajes: 542
Tu operador: Movistar
Mencionado: 4 comentarios
Tagged: 1 hilos
Usuarios con la custom ROM de LineageOS, teniendo la nueva característica de los perfiles, podrán pasar de una configuración a otra en segundo plano.

-> Método (1) - Si el perfil se establece dentro de la misma tarea
Código:
    A1: Variable Set [ Name:%temp To:Perfil_LOS Recurse Variables:Off Do Maths:Off Append:Off ]
    A2: Java Function [ Return:temp Class Or Object:cyanogenmod.app.ProfileManager Function:getInstance
{cyanogenmod.app.ProfileManager} (Context) Param:CONTEXT Param: Param: Param: Param: Param: Param: ]
    A3: Java Function [ Return: Class Or Object:temp Function:setActiveProfile
 {} (String) Param:%temp Param: Param: Param: Param: Param: Param: ]
-> Método (2) - Si el perfil proviene de una tarea externa
Código:
    A1: Java Function [ Return:temp Class Or Object:cyanogenmod.app.ProfileManager Function:getInstance
{cyanogenmod.app.ProfileManager} (Context) Param:CONTEXT Param: Param: Param: Param: Param: Param: ]
    A2: Java Function [ Return: Class Or Object:temp Function:setActiveProfile
{} (String) Param:%par# Param: Param: Param: Param: Param: Param: ]
Notas:
- Es necesario especificar el nombre de la clase (cyanogenmod.app.ProfileManager) en la A2 y A1 respectivamente, manualmente, debido a que ésta no forma parte de las nativas de Android.
- La variable '%temp' o '%par#' deberán contener el nombre exacto que le hayamos dado a nuestro(s) perfil(es). (SENSIBLES A MAYÚSCULAS/MINÚSCULAS)

Última edición por SmartPhoneLover Día 28/06/18 a las 15:38:47
Responder Con Cita
Los siguientes 2 usuarios han agradecido a SmartPhoneLover su comentario:
  #7  
Viejo 28/06/18, 18:11:47
Avatar de SmartPhoneLover
SmartPhoneLover SmartPhoneLover no está en línea
Usuario muy activo
Mensajes: 542
 
Fecha de registro: jun 2016
Mensajes: 542
Tu operador: Movistar
Mencionado: 4 comentarios
Tagged: 1 hilos
Aunque la última versión de Tasker (5.x) ya permite modificar y consultar los valores de Settings (Global, System, Secure) de Android, dichas funciones nunca vienen mal ;)

-> LECTURA
- Settings (entero)
Código:
*GLOBAL*
    A1: Java Function [ Return:temp Class Or Object:CONTEXT Function:getContentResolver
 {ContentResolver} () Param: Param: Param: Param: Param: Param: Param: ] 
    A2: Java Function [ Return:%temp Class Or Object:android.provider.Settings$Global Function:getInt
{int} (ContentResolver, String) Param:temp Param:NOMBRE_SETTING Param: Param: Param: Param: Param: ] 
    A3: Flash [ Text:%temp Long:Off ] 

 *SECURE*
    A1: Java Function [ Return:temp Class Or Object:CONTEXT Function:getContentResolver
{ContentResolver} () Param: Param: Param: Param: Param: Param: Param: ] 
    A2: Java Function [ Return:%temp Class Or Object:android.provider.Settings$Secure Function:getInt
{int} (ContentResolver, String) Param:temp Param:NOMBRE_SETTING Param: Param: Param: Param: Param: ] 
    A3: Flash [ Text:%temp Long:Off ] 

*SYSTEM*
     A1: Java Function [ Return:temp Class Or Object:CONTEXT Function:getContentResolver
{ContentResolver} () Param: Param: Param: Param: Param: Param: Param: ] 
    A2: Java Function [ Return:%temp Class Or Object:android.provider.Settings$System Function:getInt
{int} (ContentResolver, String) Param:temp Param:NOMBRE_SETTING Param: Param: Param: Param: Param: ] 
    A3: Flash [ Text:%temp Long:Off ]
- Settings (texto)
Código:
*GLOBAL*
    A1: Java Function [ Return:temp Class Or Object:CONTEXT Function:getContentResolver
{ContentResolver} () Param: Param: Param: Param: Param: Param: Param: ] 
    A2: Java Function [ Return:%temp Class Or Object:android.provider.Settings$Global Function:getString
{String} (ContentResolver, String) Param:temp Param:NOMBRE_SETTING Param: Param: Param: Param: Param: ] 
    A3: Flash [ Text:%temp Long:Off ] 

*SECURE*
    A1: Java Function [ Return:temp Class Or Object:CONTEXT Function:getContentResolver
{ContentResolver} () Param: Param: Param: Param: Param: Param: Param: ] 
    A2: Java Function [ Return:%temp Class Or Object:android.provider.Settings$Secure Function:getString
{String} (ContentResolver, String) Param:temp Param:NOMBRE_SETTING Param: Param: Param: Param: Param: ] 
    A3: Flash [ Text:%temp Long:Off ] 

*SYSTEM*
    A1: Java Function [ Return:temp Class Or Object:CONTEXT Function:getContentResolver
{ContentResolver} () Param: Param: Param: Param: Param: Param: Param: ] 
    A2: Java Function [ Return:%temp Class Or Object:android.provider.Settings$System Function:getString
{String} (ContentResolver, String) Param:temp Param:NOMBRE_SETTING Param: Param: Param: Param: Param: ] 
    A3: Flash [ Text:%temp Long:Off ]
-> ESCRITURA
- Settings (entero)
Código:
*GLOBAL*
    A1: Java Function [ Return:temp Class Or Object:CONTEXT Function:getContentResolver
{ContentResolver} () Param: Param: Param: Param: Param: Param: Param: ] 
    A2: Java Function [ Return:%temp Class Or Object:android.provider.Settings$Global Function:putInt
{boolean} (ContentResolver, String, int) Param:temp Param:NOMBRE_SETTING Param:VALOR_SETTING Param: Param: Param: Param: ] 

*SECURE*
    A1: Java Function [ Return:temp Class Or Object:CONTEXT Function:getContentResolver
{ContentResolver} () Param: Param: Param: Param: Param: Param: Param: ] 
    A2: Java Function [ Return:%temp Class Or Object:android.provider.Settings$Secure Function:putInt
{boolean} (ContentResolver, String, int) Param:temp Param:NOMBRE_SETTING Param:VALOR_SETTING Param: Param: Param: Param: ] 

*SYSTEM*
    A1: Java Function [ Return:temp Class Or Object:CONTEXT Function:getContentResolver
{ContentResolver} () Param: Param: Param: Param: Param: Param: Param: ] 
    A2: Java Function [ Return:%temp Class Or Object:android.provider.Settings$System Function:putInt
 {boolean} (ContentResolver, String, int) Param:temp Param:NOMBRE_SETTING Param:VALOR_SETTING Param: Param: Param: Param: ]
- Settings (texto)
Código:
*GLOBAL*
    A1: Java Function [ Return:temp Class Or Object:CONTEXT Function:getContentResolver
{ContentResolver} () Param: Param: Param: Param: Param: Param: Param: ] 
    A2: Java Function [ Return:%temp Class Or Object:android.provider.Settings$Global Function:putString
{boolean} (ContentResolver, String, String) Param:temp Param:NOMBRE_SETTING Param:VALOR_SETTING Param: Param: Param: Param: ] 

*SECURE*
    A1: Java Function [ Return:temp Class Or Object:CONTEXT Function:getContentResolver
{ContentResolver} () Param: Param: Param: Param: Param: Param: Param: ] 
    A2: Java Function [ Return:%temp Class Or Object:android.provider.Settings$Secure Function:putString
{boolean} (ContentResolver, String, String) Param:temp Param:NOMBRE_SETTING Param:VALOR_SETTING Param: Param: Param: Param: ] 

*SYSTEM*
    A1: Java Function [ Return:temp Class Or Object:CONTEXT Function:getContentResolver
{ContentResolver} () Param: Param: Param: Param: Param: Param: Param: ] 
    A2: Java Function [ Return:%temp Class Or Object:android.provider.Settings$System Function:putString
{boolean} (ContentResolver, String, String) Param:temp Param:NOMBRE_SETTING Param:VALOR_SETTING Param: Param: Param: Param: ]
Notas:
- Tal como funciona la nueva acción 'Custom Settings', dichas funciones tampoco requerirán acceso root al leer/escribir, siempre y cuando se le haya ortorgado a Tasker el permiso ADB.
- La velocidad de ejecución, tanto en lectura como escritura, es mucho más veloz que con comandos shell. (Tasker 5.x = ahora equiparable con su nueva acción 'Custom Settings')
- Dependiendo del tipo de valor que almacene una entrada (entero = int (número), texto = string (cadena texto)), deberemos hacer uso de un tipo de dato u otro. En caso contrario, la tarea finalizará con error.
- Los campos 'Param' que contengan 'NOMBRE_SETTING', es donde tendremos que indicar el nombre del Setting; y aquellos que sean 'VALOR_SETTING', será donde indicaremos el valor a modificar (int, string, float...)
- Estando directamente relacionado con el punto anterior, si el tipo de dato que queremos obtener o introducir es del tipo float, tendremos que usar la función 'getFloat' o 'putFloat', respectivamente. (lo mismo se aplicaría a cualquier otro tipo de dato fuera de los estándares)

Última edición por SmartPhoneLover Día 28/06/18 a las 18:23:30
Responder Con Cita
Los siguientes 2 usuarios han agradecido a SmartPhoneLover su comentario:
Respuesta

Estás aquí
Regresar   HTCMania > Todo sobre Android > Otro software para Android > Tasker

Herramientas

Reglas de Mensajes
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Las caritas están On
Código [IMG] está On
Código HTML está Off

Saltar a Foro



Hora actual: 00:27:56 (GMT +1)

Cookies settings
Powered by vBulletin™
Copyright © vBulletin Solutions, Inc. All rights reserved.
 
HTCMania: líderes desde el 2007