当前位置: 首页 > 工具软件 > termux-wifi > 使用案例 >

Termux api 用法详解

堵宏毅
2023-12-01

1. 获取设备电池状态

命令:termux-battery-status
入参:无
输出:

{
  "health": "GOOD",
  "percentage": 61,
  "plugged": "UNPLUGGED",
  "status": "NOT_CHARGING",
  "temperature": 12.0,
  "current": -9223372036854775808
}

2. 设置设备屏幕亮度

命令:termux-brightness [brightness]
入参:

参数描述必填
brightness亮度值[0-255, auto]

输出:无

3. 获取设备通话历史

命令:termux-call-log [options]
入参:

参数描述必填
-l limit每次获取条数10
-o offset从第几条开始获取0

输出:

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

4. 获取相机信息

命令:termux-camera-info
入参:无
输出:

{
    "id": "1",
    "facing": "front",
    "jpeg_output_sizes": [
      {
        "width": 320,
        "height": 240
      },
      ...
    ],
    "focal_lengths": [
      3.5
    ],
    "auto_exposure_modes": [
      "CONTROL_AE_MODE_ON"
    ],
    "physical_size": {
      "width": 4.993051528930664,
      "height": 3.721966028213501
    },
    "capabilities": [
      "backward_compatible"
    ]
  }
]

5. 使用设备相机拍照

命令:termux-camera-photo [-c camera-id] [output-file]
入参:

参数描述必填
-c camera-id相机ID,前置或者后置0
output-file图片保存位置-

输出:无
PS: 这个功能运行前需要运行 termux-setup-storage才能正常保存图片文件,否则一直卡在0KB

6. 获取剪贴板文本

命令:termux-clipboard-get
入参:无
输出:

hello world

7. 设置剪贴板文本

命令:termux-clipboard-set [text]
入参:

参数描述必填
text剪贴板文本-是(不填会卡很久)

输出:无

8. 列出所有联系人

命令:termux-contact-list
入参:无
输出:

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

9. 显示用户可输入的弹窗

命令:termux-dialog widget [options]
入参:

  • 选项
    | 参数 | 描述 | 值 | 必填 |
    | — | — | — | — |
    | -l | 列出所有弹窗以及其他选项 | - | 否 |

  • confirm 确认对话框
    | 参数 | 描述 | 值 | 必填 |
    | — | — | — | — |
    | -i hint | 弹窗内容 | - | 否 |
    | -t title | 弹窗标题 | - | 否 |

  • checkbox 选择框
    | 参数 | 描述 | 值 | 必填 |
    | — | — | — | — |
    | -v “,” | 选择项目,以逗号分隔 | - | 是 |
    | -t title | 弹窗标题 | - | 否 |

  • counter 数字选择框
    | 参数 | 描述 | 值 | 必填 |
    | — | — | — | — |
    | -v “,” | 选择项目,以逗号分隔 | - | 否 |
    | -t title | 弹窗标题 | - | 否 |

  • date 日期选择框
    | 参数 | 描述 | 值 | 必填 |
    | — | — | — | — |
    | -t title | 弹窗标题 | - | 否 |
    | -d “dd-MM-yyyy kⓂ️s” | 日期选择格式 | - | 否 |

  • radio 单选框
    | 参数 | 描述 | 值 | 必填 |
    | — | — | — | — |
    | -v “,” | 选择项目,以逗号分隔 | - | 是 |
    | -t title | 弹窗标题 | - | 否 |

  • sheet 表单选择框
    | 参数 | 描述 | 值 | 必填 |
    | — | — | — | — |
    | -v “,” | 选择项目,以逗号分隔 | - | 是 |
    | -t title | 弹窗标题 | - | 否 |

  • spinner 下拉选择框
    | 参数 | 描述 | 值 | 必填 |
    | — | — | — | — |
    | -v “,” | 选择项目,以逗号分隔 | - | 是 |
    | -t title | 弹窗标题 | - | 否 |

  • speech 语音输入框
    | 参数 | 描述 | 值 | 必填 |
    | — | — | — | — |
    | -i hint | 弹窗内容 | - | 否 |
    | -t title | 弹窗标题 | - | 否 |

  • text 文本输入框

PS:不能同时使用-m 以及-n

参数描述必填
-i hint弹窗内容-
-m设置多行显示-
-n作为数字输入-
-p作为密码输入-
-t title弹窗标题-
  • time 时间输入框
    | 参数 | 描述 | 值 | 必填 |
    | — | — | — | — |
    | -t title | 弹窗标题 | - | 否 |

输出:
PS: 当用户确定或者取消后返回JSON格式数据

10. 下载文件

命令:termux-download [-d description] [-t title] [-p path] url
入参:

参数描述必填
-d description下载请求通知说明-
-t title下载文件的文件名-
-p path下载文件要保存的位置-
url下载链接-

输出:无

11. 通过指纹传感器检查指纹

PS:该api只对Android 6.0以上生效
命令:termux-fingerprint
入参:无
输出:

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

12. 查询红外发射器发送的频率

PS:需要支持红外功能才行。
命令:termux-infrared-frequencies
入参:无
输出:

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

13. 发射红外信号

PS:需要支持红外功能才行。
命令:termux-infrared-transmit
入参:

参数描述必填
-f frequency发送以赫兹为单位的IR载波频率-

输出:无

14. 延时或者定时执行Termux 脚本

令:termux-job-scheduler [options]
入参:

参数描述必填
-p/–pending列出等待中的脚本-
–cancel-all取消所有等待中的脚本-
–cancel job-id取消对应的job-id的任务-
设置运行的脚本
-s/–script path设置需要被运行的脚本路径-
–job-id int设置任务id,将覆盖具有相同id的任何以前的作业-
–period-ms int大约每period-ms毫秒调度一次作业(默认值0表示一次)。
注意,自Android N以来,最短时间为900.000ms(15分钟)。0
–network设置仅在哪种网络下运行(any/unmetered/cellular/not_roaming/none)any
–battery-not-low boolean仅当电池电量不低时运行(至少为Android O(8.0))true
–storage-not-low boolean仅当存储容量不低时运行(至少为Android O)false
–charging boolean仅当充电时运行false
–trigger-content-uri text至少为 Android N(7.0)-
–trigger-content-flag int至少为 Android N1

输出:无

15. 获取设备定位

命令:termux-location [-p provider] [-r request]
入参:

参数描述必填
-p provider定位数据提供者[gps/network/passive]gps
-r request提出的请求类型[once/last/updates]once

输出:

{
  "latitude": 20.44651,
  "longitude": 111.261948,
  "altitude": 0.0,
  "accuracy": 40.0,
  "bearing": 0.0,
  "speed": 0.0,
  "elapsedMs": 13,
  "provider": "network"
}

16. 播放指定媒体文件

命令:termux-media-player [command] [args]
入参:

参数描述必填
info显示当前播放信息-
play如果被暂停了,继续播放-
play 播放指定的媒体文件-
pause暂停播放-
stop退出播放-

输出:无

17. 扫描媒体文件

命令:termux-media-scan [-v] [-r] 文件 [file...]
入参:

参数描述必填
-r递归扫描目录-
-v详细模式-

输出:无

18. 录音

命令:termux-microphone-record [args]
权限:需要麦克风权限
入参:

参数描述必填
-d使用默认值录音-
-f 使用指定的保存文件开始录音-
-l 使用指定的时间开始录音(秒为单位)0
-e 使用指定的编码器开始录音[aac, amr_wb, amr_nb]-
-b 按指定比特率开始录音(单位kps)-
-r 按指定采样率开始录音(单位hz)-
-c 使用指定的频道计数开始录音[1,2…]-
-i获取当前录音的信息-
-q退出录制-

输出:

Recording started: /storage/sdcard0/TermuxAudioRecording_2023-01-30_09-59-23.m4a
Max Duration: 00:05Recording started: /storage/sdcard0/TermuxAudioRecording_2023-01-30_09-59-23.m4a
Max Duration: 00:05

19. 显示通知

命令:termux-notification [options]
入参:

参数描述必填
–action action按下通知时要执行的操作-
–alert-once编辑通知时不发出警报-
–button1 text要显示在第一个通知按钮上的文本-
–button1-action action按下第一个按钮时要执行的操作-
–button2 text要显示在第二个通知按钮上的文本-
–button2-action action按下第二个按钮时要执行的操作-
–button3 text要显示在第三个通知按钮上的文本-
–button3-action action按下第三个按钮时要执行的操作-
-c/–content content要在通知中显示的内容。将优先于stdin。-
–group group通知组(通知位于同一个组将会显示在一起)-
-h/–help显示帮助内容-
–help-actions显示操作帮助-
-i/–id id通知id-
–image-path path将在通知中显示的图像的绝对路径-
–led-color rrggbb闪烁led的颜色为RRGGBBnone
–led-off millisecondsLED闪烁时熄灭的毫秒数800
–led-on millisecondsLED闪烁时亮起的毫秒数800
–on-delete action清除通知时要执行的操作-
–ongoing锁定通知-
–priority prio通知优先级(high/low/max/min/default)-
–sound通知时播放声音-
-t/–title title通知标题-
–vibrate pattern震动模式(500,1000,200)-
–type type通知类型(default/media)-
当–type为media时的参数
–media-next要在媒体上执行的操作“下一步”按钮-
–media-pause要在媒体上执行的操作“暂停”按钮-
–media-play要在媒体上执行的操作“播放”按钮-
–media-previous要对媒体上一个按钮执行的操作-

输出:无

20. 删除通知

命令:termux-notification-remove [id]
入参:

参数描述必填
id通知id-

输出:无

21. 获取传感器详细数据

命令:termux-sensor [options]
入参:

参数描述必填
-h, help展示帮助信息-
-a, all监听所有传感器(警告 会对电池有损伤)-
-c, cleanup执行清理(释放传感器资源)-
-l, list显示可用的传感器列表-
-s, sensors [,]监听列出的传感器(只能包含部分名称)-
-d, delay [ms]在接受新传感器数据时延时一段时间-
-n, limit设置读取传感器数据次数(最小值为1)continuous

输出:

{
  "sensors": [
    "LSM330 Step Counter",
    "iNemo Gravity",
    "iNemo Linear Acceleration",
    "YAS533 Magnetic",
    "YAS533 Orientation",
    "LSM330 Accelerometer",
    "L3GD20 Gyroscope",
    "APDS9920-proximity",
    "APDS9920-light",
    "iNemo Rotation Vector"
  ]
}

22. 分享标准输入中的指定文件或文本

命令:termux-share [options] [file]
入参:

参数描述必填
-a action对共享内容执行哪个动作(edit/send/view)view
-c content-type文本类型guessed from file extension, text/plain for stdin
-d如果选择了默认接收者,则共享给默认接收者-
-t title分享文本的标题shared file name

输出:无

23. 列出短信

命令:termux-sms-list [options]
入参:

参数描述必填
-d展示短信的创建时间-
-l limit设置短信列表大小10
-n显示电话号码-
-o offset短消息列表中的偏移量0
-t type设置列出短信类型(all/inbox/sent/draft/outbox)inbox

输出:无

24. 发送短信

命令:termux-sms-send -n number[,number2,number3,...] [-s slot] [text]
权限:短信权限
入参:

参数描述必填
-n收件人电话,用逗号隔开-
-s获取权限-

输出:无

25. 选择指定文件(Android 5.0 使用没有反应)

命令:termux-storage-get [output-file]
入参:

参数描述必填
output-file写入路径-

输出:无

26. 拨打电话

命令:termux-telephony-call [number]
权限:电话权限
入参:

参数描述必填
number电话号码-

输出:无

27. 获取区域信息

命令:termux-telephony-cellinfo
权限:定位权限
入参:无
输出:

[
  {
    "type": "类型",
    "registered": true,
    "asu": 31,
    "dbm": -51,
    "level": 4,
    "cid": 13727,
    "lac": 20526,
    "mcc": 460,
    "mnc": 0
  }
]

28. 获取设备信息

命令:termux-telephony-deviceinfo
入参:无
输出:

{
  "data_activity": "",
  "data_state": "",
  "device_id": "",
  "device_software_version": "",
  "phone_type": "",
  "network_operator": "",
  "network_operator_name": "",
  "network_country_iso": "",
  "network_type": "",
  "network_roaming": ,
  "sim_country_iso": "",
  "sim_operator": "",
  "sim_operator_name": "",
  "sim_serial_number": null,
  "sim_subscriber_id": null,
  "sim_state": ""
}

29. 显示弹窗

命令:termux-toast [options] [text]
入参:

参数描述必填
-h显示帮助文档-
-b设置背景颜色gray
-c设置文本颜色white
-g设置弹窗显示的位置[top/middle/bottom]middle
-s设置仅展示弹窗一段时间

PS:颜色可以支持6/8位16进制值(即“#FF0000”或“#FFFF0000”)
输出:无

30. 操作手电筒

命令:termux-torch [status]
入参:

参数描述必填
status开关手电筒[on/off]-

输出:无

31. 获取文本转语音引擎

命令:termux-tts-engines
入参:无
输出:

[
  {
    "name": "com.svox.pico",
    "label": "Pico TTS",
    "default": true
  }
]

32. 朗读文本

命令:termux-tts-speak [-e engine] [-l language] [-n region] [-v variant] [-p pitch] [-r rate] [-s stream] [text-to-speak]
入参:

参数描述必填
-e engine要使用的TTS引擎,可以使用termux-tts-engines查看-
-l language设置要朗读的语言(可能不受引擎支持)-
-n region设置语言朗读区域-
-v variant设置语言朗读变种-
-p pitch朗读的声调1.0
-r rate朗读的语速1.0
-s stream音频流(ALARM, MUSIC, NOTIFICATION, RING, SYSTEM, VOICE_CALL)NOTIFICATION
text要朗读的文本-

输出:无

33. 列出USB设备

命令:termux-usb [-l | [-r] [-e command] device]
入参:

参数描述必填
-l列出可用的USB设备-
-r如果没有授权则显示权限对话框-
-e command使用文件描述符执行指定的命令
将设备作为其参数

输出:

[
]

34. 震动设备

命令:termux-vibrate [options]
入参:

参数描述必填
-d duration设置震动时间,以毫秒为单位1000
-f即使在静音模式下也会产生强制振动-

输出:无

35. 更改设备音量

命令:termux-volume [stream] [volume]
入参:

参数描述必填
stream设置音频流(alarm/ music, notification, ring, system, call.)1000
volume音量大小[0-10]-

输出:无

36. 更改桌面壁纸

命令:termux-wallpaper cmd [options]
入参:

参数描述必填
-f 选择文件设置桌面壁纸1000
-u 从云端选择图片作为桌面壁纸-是,和file二选一
-l设置锁屏壁纸-

输出:无

37. 获取设备wifi连接信息

命令:termux-wifi-connectioninfo
入参:无
输出:

{
  "bssid": "xxxxe",
  "frequency_mhz": xx,
  "ip": "192.168.2.103",
  "link_speed_mbps": 135,
  "mac_address": "2xx",
  "network_id": 3,
  "rssi": -51,
  "ssid": "Yx",
  "ssid_hidden": false,
  "supplicant_state": "COMPLETED"
}

38. 控制wifi使能

命令:termux-wifi-enable [status]
入参:

参数描述必填
status是否使能wifi[true/false]-

输出:无

39. 获取上次wifi的扫描信息

命令:termux-wifi-scaninfo
入参:无
输出:

[
  {
    "bssid": "xxxx",
    "frequency_mhz": 2437,
    "rssi": -93,
    "ssid": "nvwangdaren888",
    "timestamp": 313662522747
  }
]
 类似资料: