![]() |
|
| Tasker Para hablar de todo lo relacionado con la aplicación tasker |
«
Tema Anterior
|
Siguiente tema
»
|
|
Herramientas |
|
#1
|
||||
|
||||
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 |
| Los siguientes 2 usuarios han agradecido a SmartPhoneLover su comentario: | ||
|
|
|
#2
|
||||
|
||||
|
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 ]
|
| Los siguientes 2 usuarios han agradecido a SmartPhoneLover su comentario: | ||
|
#3
|
||||
|
||||
|
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: ]
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: ]
|
| Los siguientes 2 usuarios han agradecido a SmartPhoneLover su comentario: | ||
|
#4
|
||||
|
||||
|
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: ]
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: ]
- 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 |
| Los siguientes 2 usuarios han agradecido a SmartPhoneLover su comentario: | ||
|
#5
|
||||
|
||||
|
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 ]
- Los posibles valores son: false/true (desactivado/activado). - Hay que agregar manualmente el objeto al que hace referencia en la A1: 'KeyguardManager'. |
| Los siguientes 2 usuarios han agradecido a SmartPhoneLover su comentario: | ||
|
#6
|
||||
|
||||
|
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: ]
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: ]
- 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 |
| Los siguientes 2 usuarios han agradecido a SmartPhoneLover su comentario: | ||
|
#7
|
||||
|
||||
|
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 ]
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 ]
- 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: ]
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: ]
- 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 |
| Los siguientes 2 usuarios han agradecido a SmartPhoneLover su comentario: | ||
| Respuesta |
Estás aquí
|
||||||
|
||||||
«
Tema Anterior
|
Siguiente tema
»
| Herramientas | |
|
|
Hora actual: 00:27:56 (GMT +1)
HTCMania: líderes desde el 2007

Funciones Java en Tasker





