Termux-Api

Termux-Api 是一个Termux的插件,它通过app与命令行配合,与手机硬件完成一些交互。比如读取通话记录,发送短信,拨打电话,录音,开关Wifi等。让Termux玩出更多功能。

安装Termux-Api

pkg install termux-api

Termux:API用法

获取设备电池信息
命令:termux-battery-status
返回结果:

{"health": "GOOD", // 电池健康状态 "percentage": 94, // 当前电量百分比"plugged": "UNPLUGGED", // 是否已插入电源"status": "DISCHARGING", // 是否正在充电"temperature": 33.0, // 电池温度"current": 252000 // 电池当前放电电流,电位微安,如果设备当前正在充电,则该值是负数
}

设置屏幕亮度
命令:termux-brightness brightness
权限:android.permission.WRITE_SETTINGS
入参:

参数 说明 默认值 可选
brightness 亮度值 - 0-255

获取通话记录列表
命令:termux-call-log -l limit -o offset
权限:android.permission.READ_CALL_LOG
入参

参数 说明 默认值 可选
-l limit 每次获取条数 10
-o offset 从第几条开始获取 0

返回结果:

[{"name":"名称","phone_number":"号码","date":"通话时间","duration":"通话时长"}...
]

获取相机信息
命令:termux-camera-info
返回结果:

[{"id": "0","facing": "back","jpeg_output_sizes": [{"width": 4080,"height": 3072},...],"focal_lengths": [7.590000152587891],"auto_exposure_modes": ["CONTROL_AE_MODE_OFF","CONTROL_AE_MODE_ON","CONTROL_AE_MODE_ON_AUTO_FLASH","CONTROL_AE_MODE_ON_ALWAYS_FLASH"],"physical_size": {"width": 11.423999786376953,"height": 8.60159969329834},"capabilities": ["backward_compatible","constrained_high_speed_video","raw","yuv_reprocessing","private_reprocessing","read_sensor_settings","manual_sensor","burst_capture","manual_post_processing"]},...
]

调用摄像头拍照
命令:termux-camera-photo -c camera-id filename
权限:android.permission.CAMERA
入参

参数 说明 默认值 可选
-c camera-id ermux-camera-info输出的id 0
filename 文件保存的路径 -

获取粘贴板数据
命令:termux-clipboard-get

权限:读取粘贴板权限

出参:直接输出粘贴板内容

设置粘贴板数据
命令termux-clipboard-set text

入参

参数 说明 默认值 可选
text 要复制到粘贴板的内容 -

获取联系人列表
命令:termux-contact-list
权限:anroid.permission.READ_CONTACTS
返回结果:

[{"name":"名称","nuumber":"号码"}...
]

显示弹窗
命令

termux-dialog confirm -t title -i hint
termux-dialog checkbox -t title -v ",,,"
termux-dialog counter -t title -r min,max,start
termux-dialog date -t title -d "dd-MM-yyyy k:m:s"
termux-dialog radio -t title -v ",,,"
termux-dialog sheet -t title -v ",,,"
termux-dialog spinner -t title -i hint
termux-dialog speech -t title -i hint
termux-dialog text -t title -i hint -m -n -p
termux-dialog time -t title

入参

参数 说明 默认值 可选
-t title 弹窗标题 -
-i hint 弹窗内容 -
-v “,” 以逗号分割的选项列表 -
-r min,max,start 时数弹窗的数值 min:最小值 max:最大值 start:初始值 -
-d “dd-MM-yyyy kⓂ️s” 日期弹窗的输出格式 -
-m 输入框弹窗多行输入,不能和-n共用 -
-n 输入框弹窗输入数字,不能和-m共用 -
-p 输入框弹窗输入密码 -

出参

{"code":-1,"text":"值","values":"格式化的值,不同类型的弹窗值不一样"
}

使用系统下载管理器下载资源
命令termux-download -d description -t title -p path url
权限:无

参数 说明 默认值 可选
-d description 下载通知的描述 -
-t title 下载通知的标题 -
-p path 下载文件要保存的路径 -
url 要下载的url -

使用指纹传感器校验身份
命令:termux-fingerprint
出参

{"errors":[],"failed_attempts":0,"auth_result":"AUTH_RESULT_SUCCESS"
}

查询红外发射器支持的载波频率
命令:termux-infrared-frequencies

出参

[{"min": 30000,"max": 30000},...
]

发送红外信号
命令:termux-infrared-transmit -f frequency
权限:无

参数 说明 默认值 可选
frequency 以赫兹为单位的 IR 载波频率。 -

延迟或定时运行Termux脚本
命令:termux-job-scheduler
权限:无

获取当前位置
命令:termux-location -p gps/network/passive -r once/last/updates
入参

参数 说明 默认值 可选
-p gps/network/passive 获取位置的方式 gps
-r once/last/updates 获取时机 once:一次 last:上次 updates:更新 once
返回结果:
{"latitude": 33,"longitude": 114,"altitude": 102,"accuracy": 90,"vertical_accuracy": 961,"bearing": 0.0,"speed": 0.0,"elapsedMs": 38,"provider": "gps"
}

播放媒体文件
命令

termux-media-player info
termux-media-player play
termux-media-player play <file>
termux-media-player pause
termux-media-player stop

入参

参数 说明 默认值 可选
info 查看当前播放信息 - -
play 暂停后继续播放 - -
play 文件路径 播放指定的文件 - -
pause 暂停 - -
stop 停止 - -

媒体扫描
命令:termux-media-scan -r 目录 -v
入参

参数 说明 默认值 可选
-r 目录 要扫描的目录 -
-v 详细扫描 -

录音
命令

termux-microphone-record -d -f <file> -l <limit> -e <encoder> -b <bitrate> -r <rate> -c <count> -i -q

权限:android.permission.RECORD_AUDIO
入参

参数 说明 默认值 可选
-d 使用默认值录音 - -
-f 文件 录音保存文件 - -
-l 时长限制 录音时长限制,单位:秒,0表示不限制 0 -
-e 格式 指定录音格式 (aac, amr_wb, amr_nb) - -
-b 比特率 指定录音比特率 (单位 kbps) - -
-r 频率 指定录音频率 (单位 Hz) - -
-c 声道数 指定录音声道数 (1, 2, …) - -
-i 获取当前录音信息 - -
-q 退出录音 - -
返回结果:

{"isRecording":true,"outputFile":"录音文件"
}

发送通知
命令:termux-notification
入参

参数 说明 默认值 可选
–action action 点击通知时执行的动作 - -
–alert-once 通知被编辑时不要再次提醒 - -
–button1 text 在通知的第一个按钮上显示的文本 - -
–button1-action action 点击第一个按钮要执行的动作 - -
–button2 text 在通知的第二个按钮上显示的文本 - -
–button2-action action 点击第二个按钮要执行的动作 - -
–button3 text 在通知的第三个按钮上显示的文本
–button3-action action 点击第三个按钮要执行的动作
-c/–content content 要在通知中显示的内容,优先级高于标准输入
–group group 通知分组
-h/–help 显示帮助信息
–help-actions 显示动作定义帮助信息
-i/–id id 通知id,同一id的通知两次发送时之前的将被替换
–image-path path 通知中要显示的图片绝对路径
–led-color rrggbb 呼吸灯颜色 无
–led-off milliseconds 呼吸灯呼吸时关闭时长 800
–led-on milliseconds 呼吸灯呼吸时打开时长 800
–on-delete action 通知被清理时执行的动作 - -
–ongoing 发送持久化通知 - -
–priority prio 通知优先级 - high/low/max/min/default
–sound 通知铃声 - -
-t/–title title 通知标题 - -
–vibrate pattern 通知振动,时长以逗号分割 ,500,800,500,900 - -
–type type 通知类型 default/media
–media-next 通知类型为media时,显示下一曲按钮
–media-pause 通知类型为media时,显示暂停按钮 - -
–media-play 通知类型为media时,显示播放按钮 - -
–media-previous 通知类型为media时,显示上一曲按钮 - -

移除通知
命令:termux-notification-remove id
入参

参数 说明 默认值 可选
id 要移除的通知id,使用termux-notification发送通知时定义的id -

获取传感器信息
命令

termux-sensor -h -a -l -s ",,," -d ms -n num

入参

参数 说明 默认值 可选
-h 显示帮助信息 - -
-a 显示全部传感器信息和实时数据(警告:可能对电池有影响)
-l 显示可用的传感器列表
-s “,” 要监听的传感器,以逗号分割
-d ms 接收传感器数据之前延迟,单位:ms
-n num 接收传感器数据次数,最小值为1。continuous:续续接收 continuous
-c 释放被占用的传感器

返回结果:

{"sensors":["可用的传感器列表",...]
}

分享
命令:termux-share -a action -c content-type -d -t title file
入参

参数 说明 默认值 可选
-a action 分享内容要执行的动作类型 view edit/send/view
-c content-type 分享的数据类型 从文件后缀猜测,如果数据是从标准输入来的,默认为
-d 如果选择一个则分享到默认的接收器而不显示接收器列表 -
-t title 分享的标题 分享的文件名

获取短信列表
命令:termux-sms-list -d -l limit -n -o offset -t type
权限:android.permission.READ_CONTACTS

入参

参数 说明 默认值 可选
-d 显示创建短信的日期
-l limit 每页显示多少条数据 10
-n 显示号码 0
-o offset 从第几个后开始获取
-t type 要显示的短信类型 inbox all

返回结果:

[{"threadid":186,"type":"inbox","read":true,"number":"号码","received":"接收时间","body":"短信内容"}
]

发送短信
命令:termux-sms-send -n ",,," text
权限:android.permission.SEND_SMS

入参

参数 说明 默认值 可选
-n “,” 要接收短信的号码,以逗号分割
text 要发送的短信内容

选择文件
命令:termux-storage-get filename

入参

参数 说明 默认值 可选
filename 要写入的文件 -

拨打电话
命令termux-telephony-call number
权限:andriod.permission.CALL_PHONE

入参

参数 说明 默认值 可选
number 要拨打的号码 -

获取区域信息
命令:termux-telephony-cellinfo
权限:定位权限

返回结果:

{"type":"类型","registered":true,"asu":40,"dbm":-97,"level":2,"ci":1936181100,"pci":120,"tac":61292,"mcc":460,"mnc":1
}

获取通讯设备信息
命令:termux-telephony-deviceinfo
返回结果:

{"data_enabled": "true","data_activity": "none","data_state": "connected","device_id": null,"device_software_version": null,"phone_count": 2,"phone_type": "gsm","network_operator": "46001","network_operator_name": "中国联通","network_country_iso": "cn","network_type": "lte","network_roaming": false,"sim_country_iso": "cn","sim_operator": "46001","sim_operator_name": "中国联通","sim_serial_number": null,"sim_subscriber_id": null,"sim_state": "ready"
}

显示一个Toast
命令termux-toast -h -b -c -g -s text

入参

参数 说明 默认值 可选
-h 显示帮助信息 - -
-b 背景色 gray
-c 前景色 white
-g 位置 middle top, middle, bottom
-s 短时显示 -
text 要显示的内容 -

打开/关闭手电筒
命令termux-torch status

入参

参数 说明 默认值 可选
status 状态 - on, off

获取语音引擎信息
命令:termux-tts-engines

返回结果:

[{"name":"包名","label":"名称""default":true},...
]

朗读文本
命令

termux-tts-speak -e engine -l language -n region -v variant -r rate  -s stream text

入参

参数 说明 默认值 可选
-e engine 要使用的语音引擎 - termux-tts-engines输出的引擎
-l language 要朗读的语言 - -
-n region 要朗读语言所在区域 - -
-v variant 要朗读语言的变体 - -
-p pitch 朗读的声调 1.0 -
-r rate 朗读的语速 1.0 -
-s stream 音频流 NOTIFICATION ALARM, MUSIC, NOTIFICATION, RING, SYSTEM, VOICE_CALL
text 要朗读的文本 -

USB设备列表
命令termux-usb -l -r -e command

依赖包
要正常使用该功能,需要安装libusb和clang包,可使用apt install libusb clang安装
权限:USB权限

入参

参数 说明 默认值 可选
-l 列表所有可用的USB设备 - -
-r 如果没有权限弹出权限请求弹窗 - -
-e command 使用引用设备的文件描述符作为其参数执行指定的命令 - -

振动
命令termux-vibrate -d duration -f

入参

参数 说明 默认值 可选
-d duration 振动时长 1000
-f 在静音模式下强制振动 -

获取/设置音量
命令termux-volume stream volume
入参

参数 说明 默认值 可选
stream 要改变的音量 - alarm, music, notification, ring, system, call
volume 音量 - -

不加参数返回结果:

[{"stream": "call","volume": 11,"max_volume": 11},{"stream": "system","volume": 0,"max_volume": 15},{"stream": "ring","volume": 10,"max_volume": 15},{"stream": "music","volume": 50,"max_volume": 150},{"stream": "alarm","volume": 8,"max_volume": 15},{"stream": "notification","volume": 10,"max_volume": 15}
]

更改桌面壁纸
命令termux-wallpaper -f file -u url -l

入参

参数 说明 默认值 可选
-f file 使用文件设置桌面壁纸
-u url 使用网络资源设置桌面壁纸
-l 设置锁屏壁纸

获取当前WiFi连接信息
命令:termux-wifi-connectioninfo

返回结果:

{"bssid": "02:00:00:00:00:00","frequency_mhz": 5745,"ip": "192.168.31.251","link_speed_mbps": 260,"mac_address": "02:00:00:00:00:00","network_id": -1,"rssi": -68,"ssid": "<unknown ssid>","ssid_hidden": true,"supplicant_state": "COMPLETED"
}

打开/关闭WiFi
命令termux-wifi-enable status

入参

参数 说明 默认值 可选
status 要更改的wifi状态 true, false

扫描可用WiFi
命令:termux-wifi-scaninfo
权限:定位权限
返回结果:

[{"bssid": "68:8b:0f:f6:6f:96","frequency_mhz": 2412,"rssi": -50,"ssid": "CMCC-nJtm","timestamp": 584216631835,"channel_bandwidth_mhz": "20"},...
]

Termux Api相关推荐

  1. 安装Termux的手机上运行Python

    1. Termux 终端 Android是一个单用户图形化系统,功能主要以应用的形式呈现给用户,因此在系统上我们无法直接获取终端,更是无法直接调用系统自带的丰富指令.使用ADB是一个曲线救国的方法,打 ...

  2. termux php 出错,android上的终端——termux

    前言 在安卓也可以体验终端命令的快感,甚至还可以操作安卓基础硬件. 基本命令 termux支持apt软件管理和pkg软件管理,首次安装时,系统会默认给出pkg的安装及更新命令,对此不做过多赘述,用过l ...

  3. java开发平板_用Android平板来写代码 - Termux 环境搭建

    之前入了一个洋垃圾 华硕P00I,我对这款平板的第一印象是:屏幕好,电池耐用.如果忽略后压屏的缺点,还是很有性价比的. 除了平时看小说.PDF.PPT.视频,作为一个程序员(还没毕业),想着是否可以更 ...

  4. termux入门安装

    下载安装 请使用F-Droid 的Termux,GooglePlay的 Termux 会存在一些问题,安装后无法使用. 下载地址:https://f-droid.org/en/packages/com ...

  5. Termux手机终端-逗你玩儿

    Termux手机终端-逗你玩儿 Termux简介: Termux是个apk应用,运行在Android平台上的一个终端模拟器.安装后,就相当于在安卓手机上跑了一个小型的linux.用户对他做一些配置后, ...

  6. termux 使用笔记

    简介 Termux是一个Android下一个高级的终端模拟器,开源且不需要root,支持apt管理软件包,十分方便安装软件包,完美支持Python,PHP,Ruby,Go,Nodejs,MySQL等. ...

  7. Termux 高级终端安装使用配置教程

    Termux 高级终端安装使用配置教程,这篇文章拖了有小半年.因为网上相关的文章相对来说还是比较少的,恰好今天又刷了机,所以就特意来总结一下,希望本文可以帮助到其他的小伙伴.发挥Android平台更大 ...

  8. Termux高级终端安装使用配置教程

    * 本文作者:国光,本文属FreeBuf原创奖励计划,未经许可禁止转载 简介 Termux是一个Android下一个高级的终端模拟器,开源且不需要root,支持apt管理软件包,十分方便安装软件包,完 ...

  9. 安卓linux免root权限,手机免root安装Linux发行版 Termux v0.106+Tmoe-linux

    本帖最后由 小白不怂 于 2021-3-30 10:18 编辑 21.3.30更新: 1. 关于退出后如何启动Linux的问题 1).  可以输入debian打开最近打开的Linux 2).  输入s ...

最新文章

  1. IDEA打包成war部署web项目
  2. Vmware安装Centos NAT方式设置静态IP
  3. spark dataFrame withColumn
  4. tomcat源码 Connector
  5. Queue:poll、offer、element、peek的区别
  6. nexus 仓库类型_Maven私服Nexus的搭建
  7. Python《使用Selenium 和pyautogui 实现自动登录淘宝》
  8. Mac. 修改bash_file
  9. Git检出指定的目录-稀疏检出
  10. 【CCCC】L3-012 水果忍者 (30分),,枚举斜率
  11. Scikit-learn:Feature selection特征选择和学习
  12. 百度地图的经纬度转高德地图的经纬度
  13. 新中大怎么修改服务器,新中大软件服务器地址修改
  14. java http 1.1_HTTP1.1翻译 - 彪悍的人生不需要解释 - BlogJava
  15. Apache Flink_JZZ158_MBY
  16. μC/OS-III_系统特点
  17. vuetify图标大全
  18. 2021年起重机械指挥考试技巧及起重机械指挥证考试
  19. 错误集:smbclient访问Windows共享文件夹报错误:protocol negotiation failed: NT_STATUS_CONNECTION_RESET
  20. 获取 3D Slicer 的配色/色彩方案

热门文章

  1. 瑕积分——瑕积分性质
  2. BUG: soft lockup - CPU#0 stuck for 67! [swapper:1]的情况
  3. ONNX(Open Neural Network Exchange)介绍
  4. oracle数据转到mysql----OracleToMySQL 工具
  5. 政务中心3D室内导航系统
  6. 附上我现在这台台式机的详细参数吧,大家有兴趣可以看一下古董:
  7. 华为python培训
  8. 普通io口模拟串口通信
  9. solor——搜索解决方案
  10. 判别函数(七)势函数法