====== Termux:API ====== **Termux:API** es un añadido / extensión de [[..:termux|Termux]] que expone funcionalidades del dispositivo como una API para programas en línea de comandos. * [[https://github.com/termux/termux-api|Repositorio de código]] * [[https://wiki.termux.com/wiki/Termux:API|Wiki oficial]] ===== Instalación ===== Hay que instalar la aplicación para Android **Termux:API** (a través de [[https://f-droid.org/en/packages/com.termux.api/|F-droid]]) y también el paquete **termux-api** en Termux: pkg install termux-api ===== Comandos ===== Tras la instalación, tendremos disponibles los siguientes comandos: * ''termux-battery-status'': obtiene el estado de la batería del dispositivo. * ''termux-brightness'': establece el brillo del dispositivo (entre 0 y 255) * ''termux-call-log'': lista el historial de llamadas. * ''termux-camera-info'': obtiene información sobre las cámaras del dispositivo. * ''termux-camera-photo'': hace una foto y la guarda en un fichero JPEG. * ''termux-clipboard-get'': obtiene el texto del portapapeles. * ''termux-clipboard-set'': modifica el texto del portapapeles. * ''termux-contact-list'': lista los contactos. * ''termux-dialog'': muestra el diágolo de introducción de texto. * ''termux-download'': descarga un recurso utilizando el gestor de descargas del sistema * ''termux-fingerprint'': utiliza el sensor de huella para autenticación. * ''termux-infrared-frequencies'': obtiene las frecuencias soportadas por el transmisor de infrarrojos. * ''termux-infrared-transmit'': transmite un patrón de infrarrojos. * ''termux-job-scheduler'': programa un script de Termux para ejecutar más tarde o periódicamente. * ''termux-location'': obtiene la ubicación del dispositivo. * ''termux-media-player'': reproduce archivos multimedia. * ''termux-media-scan'': escanea multimedia. Hace cambios que son visibles en la galería. * ''termux-microphone-record'': graba utilizando el micrófono del dispositivo. * ''termux-notification'': muestra una notificación de sistema. * ''termux-notification-remove'': elimina una notificación mostrada con ''termux-notification'' * ''termux-sensor'': obtiene información de los diferentes sensores del dispositivo. * ''termux-share'': comparte un archivo pasado como argumento. * ''termux-sms-list'': lista los mensajes SMS. * ''termux-sms-send'': envía un SMS a un número especificado. * ''termux-storage-get'': solicita un fichero y lo manda al archivo especificado. * ''termux-telephony-call'': realiza una llamada al número especificado. * ''termux-telephony-cellinfo'': obtiene información sobre las células al alcance del dispositivo. * ''termux-telephony-deviceinfo'': obtiene información sobre el teléfono. * ''termux-toast'': muestra una notificación. * ''termux-torch'': enciende (''on'') o apaga (''off'') la linterna. * ''termux-tts-engines'': obtiene información sobre los motores de transcripción a audio (//text-to-speech//) disponibles. * ''termux-tts-speak'': dicta un texto con el motor de transcripción del sistema. * ''termux-usb'': lista o accede a dispositivos USB. * ''termux-vibrate'': hace vibrar el dispositivo. * ''termux-volume'': cambia el volumen del audio. * ''termux-wallpaper'': cambia el fondo de pantalla del dispositivo. * ''termux-wifi-connectioninfo'': muestra información sobre la conexión Wi-Fi actual. * ''termux-wifi-enable'': activa/desactiva la red Wi-Fi. * ''termux-wifi-scaninfo'': obtiene información del último escaneo de redes Wi-Fi. ===== Casos prácticos ===== ==== Notificaciones personalizadas ==== Mediante el comando ''termux-notification'' podemos enviar notificaciones al terminal Android que aparecerán en el área de notificaciones. termux-notification --title "Script terminado" --content "Todo OK" Puede ser útil para scripts largos, copias de seguridad o descargas. ==== Alertar del nivel de batería ==== Utilizando el comando ''termux-battery-status'' podríamos crear el siguiente script: level=$(termux-battery-status | jq '.percentage') if [ "$level" -lt 15 ]; then termux-notification --title "Batería baja" --content "Queda menos del 15%" fi Necesario instalar el paquete ''jq'': ''pkg jq''. ==== Hacer fotos sigilosamente ==== Utilizando el comando ''termux-camera-photo'' podemos hacer fotos con la cámara trasera incluso con el móvil bloqueado: termux-camera-photo foto.jpg ==== Grabar audio sigilosamente ==== Gracias al comando ''termux-microphone-record''. Por ejemplo, para grabar el audio que recoja el dispositivo durante 10 segundos: termux-microphone-record -f audio.mp3 -l 10 Si queremos poner a grabar sin límite: termux-microphone-record -f nombre-fichero -l 0 Para detener la grabación: termux-microphone-record -q ==== Controlar volumen ==== Gracias al comando ''termux-volume'' podremos gestionar el volumen de los diferentes //streams// disponibles: * alarm * notification * music * ring * system * call Si lo lanzamos sin argumentos, podremos ver todos los //streams// disponibles, cuál es su volumen actual y cuál el máximo: termux-volume Para poner el volumen de la música al 0: termux-volume music 0 ==== Sensores del dispositivo ==== Gracias al comando ''termux-sensor'' podemos obtener información sobre el tipo de sensores del dispositivo e información en tiempo real. Para ver los sensores que tiene disponibles nuestro dispositivo: termux-sensor -l ==== Texto a voz (TTS) ==== Gracias al comando ''termux-tts-speak'' podemos pasar cualquier texto a voz que puede ser útil como alerta auditiva o asistentes personales: termux-tts-speak "Copia de seguridad completada"