1

有没有人试图从在 Termux 下运行 Node.Js 的 Android 手机获取位置信息。

这是我想做的一个简单的 POC,我不想进入成熟的 Android 开发世界(我从来没有做过),一个简单的 Node 服务器应该足以满足我的需求想。

(背景:这样我就可以将一个 Amazon Dash 按钮“配对”到我的手机,当我按下按钮时,我会劫持手机上的广播,用 GPS 信息对其进行扩充,然后将其传输到 IFTTT 小程序)

4

1 回答 1

0

从 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"
}
于 2020-09-20T17:43:28.433 回答