termux-api-wrapper
v1.1.4
Published
Node module for Termux-API
Downloads
3
Readme
termux-api-wrapper
Comprehensive Node.js module for Termux-API
Install
Make sure you've first installed the termux-api on your Android device.
Then install the scripts with
apt install termux-api
.Finally get this node module:
$
npm install --save termux-api-wrapper
Example usage
const api = require('termux-api-wrapper')
if (!api.hasTermux) {
console.error('Cannot init termux-api');
process.exit(1)
}
api.dialog()
.widget('spinner')
.values(['One', 'Two'])
.title('Select a number!')
.run().then(console.log)
Available methods
Every command instance has the .run()
method that must be used to execute the command. It always return a Promise (eventually with results).
| Method | Description | Parameters |
|--------|-------------|-----------|
| .toast()
| Show a toast message | |
| | set the text to show | .text(<str>)
|
| | show the toast for a short while | .transient()
|
| .vibrate()
| Vibrate your phone | |
| | set the duration in milliseconds | .duration(<ms>)
|
| | force vibration even in silent mode | .force()
|
| .batteryStatus()
| Get the status of the device battery | |
| .cameraInfo()
| Get info about device camera(s) | |
| .cameraPhoto()
| Take a photo and save it to a file (JPEG format) | |
| | select the camera by ID | .camera(<id>)
|
| | output photo file (NB. use an absolute path!) | .outputFile(<str>)
|
| .clipboardGet()
| Get the system clipboard text | |
| .clipboardSet()
| Set the system clipboard text | |
| | text to copy in clipboard | .text(<str>)
|
| .contactList()
| Set the system clipboard text | |
| .contactList()
| List all contacts | |
| .dialog()
| Show a text entry dialog | |
| | dialog title | .title(<str>)
|
| | hint to show when input is empty | .hint(<str>)
|
| | use a textarea with multiple lines | .multipleLines()
|
| | enter the input as a password | .password()
|
| .download()
| Download a resource using the download manager | |
| | set the resource to download | .url(<str>)
|
| | title for the download request | .title(<str>)
|
| | description for the download request | .description(<str>)
|
| .infraredFrequencies()
| Query the infrared transmitter's supported carrier frequencies | |
| .infraredTransmit()
| Transmit an infrared pattern | |
| | specify the pattern to transmit as array of numbers | .frequency(<Array>)
|
| .location()
| Get the device location | |
| | location provider (gps/network/passive) | .provider(<enum>)
|
| | kind of request to make (once/last/updates) | .request(<enum>)
|
| .notification()
| Display a system notification | |
| | notification content to show | .content(<str>)
|
| | notification id (will overwrite any previous notification with the same id)| .id(<int>)
|
| | notification title to show | .title(<str>)
|
| | notification url when clicking on it | .url(<str>)
|
| | notification action when clicking on button1 | .button1(<str>, <str>)
|
| | notification action when clicking on button2 | .button2(<str>, <str>)
|
| | notification action when clicking on button3 | .button3(<str>, <str>)
|
| | notification action when tapping on it | .tap(<str>)
|
| | notification action when deleting it | .delete(<str>)
|
| | notification image to show | .image(<path>)
|
| | makes notification unremovable, need .id | .pin()
|
| .share()
| share a file specified as argument | |
| | provide a file to share | .file(<path>)
|
| | which action to perform on the file (edit/send/view) | .action(<enum>)
|
| | content-type to use (default: guessed from file extension) | .contentType(<str>)
|
| | share to the default receiver instead of showing a chooser | .default()
|
| | title to use for shared content (default: shared file name) | .title(<str>)
|
| .smsInbox()
| List received SMS messages | |
| | show dates when messages were created | .date()
|
| | limit in sms list (default: 10) | .limit(<int>)
|
| | show phone numbers | .showNumbers()
|
| | offset in sms list (default: 0) | .offset(<int>)
|
| .smsSend()
| Send a SMS message to the specified recipient number(s) | |
| | Recipient number(s), gotta be an Array | .numbers(<Array>)
|
| | The SMS text | .text(<str>)
|
| .telephonyCellInfo()
| Get information about all observed cell information from all radios on the device | |
| .telephonyDeviceInfo()
| Get information about the telephony device | |
| .ttsEngines()
| Get information about the available text-to-speech (TTS) engines | |
| .ttsSpeak()
| Speak text with a system text-to-speech (TTS) engine | |
| | Text to speak, passed to the engine | .text(<str>)
|
| | TTS engine to use, see .ttsEngines()
| .engine(<id>)
|
| | language to use (may be unsupported by the engine) | .language(<enum>)
|
| | pitch to use in speech (1.0 is normal) | .pitch(<num>)
|
| | speech rate to use (1.0 is normal) | .rate(<num>)
|
| | audio stream to use (ALARM/MUSIC/NOTIFICATION/RING/SYSTEM/VOICE_CALL) | .stream(<enum>)
|
Dependency
It uses has-termux-api to check if termux-api is installed.
Debug
Set the env DEBUG: DEBUG=termux
License
MIT