有没有人试图从在 Termux 下运行 Node.Js 的 Android 手机获取位置信息。
这是我想做的一个简单的 POC,我不想进入成熟的 Android 开发世界(我从来没有做过),一个简单的 Node 服务器应该足以满足我的需求想。
(背景:这样我就可以将一个 Amazon Dash 按钮“配对”到我的手机,当我按下按钮时,我会劫持手机上的广播,用 GPS 信息对其进行扩充,然后将其传输到 IFTTT 小程序)
有没有人试图从在 Termux 下运行 Node.Js 的 Android 手机获取位置信息。
这是我想做的一个简单的 POC,我不想进入成熟的 Android 开发世界(我从来没有做过),一个简单的 Node 服务器应该足以满足我的需求想。
(背景:这样我就可以将一个 Amazon Dash 按钮“配对”到我的手机,当我按下按钮时,我会劫持手机上的广播,用 GPS 信息对其进行扩充,然后将其传输到 IFTTT 小程序)
从 Google Play 下载 Termux:API 到手机。
termux-location
如果有效,此命令(termux-location)在电话上的 termux 控制台中返回信息(我的纬度和经度不是这个,它是 7 长浮点 irl):
{
"latitude": 47.0,
"longitude": 19.0,
"altitude": 100,
"accuracy": 19.0,
"vertical_accuracy": 0.0,
"bearing": 0.0,
"speed": 1.5650451183319092,
"elapsedMs": 15,
"provider": "gps"
}
起初它对我没有任何回报,所以我从 Google Play 安装了Share GPS应用程序,不知何故它开始工作了..
然后下载并使用npm install -g termux-api包。节点示例:
var api = require('termux-api').default;
let result = api.createCommand()
.location()
.fromGPSProvider()
.requestOnce()
.build()
.run();
result.getOutputObject()
.then(function(location) {
console.log('Last known location: ', location);
});
以 termux-location 的形式返回:
Last known location: {
"latitude": 47.0,
"longitude": 19.0,
"altitude": 100,
"accuracy": 19.0,
"vertical_accuracy": 0.0,
"bearing": 0.0,
"speed": 1.5650451183319092,
"elapsedMs": 15,
"provider": "gps"
}