【问题标题】:How to send "geo fix" command to real device of Android?如何将“geo fix”命令发送到 Android 的真实设备?
【发布时间】:2011-08-08 08:12:05
【问题描述】:

首先,感谢您对我的问题的关注

我正在计划设计一个 Android GPS 定位应用程序

这是我的困难和情况

(1)我的电脑硬件已经过时了,运行一个android模拟器调试真的很费时间,所以我一周前买了一个真正的设备(android手机),目的是更换调试中的模拟器

(2)我知道如何通过“DDMS/Emulator Control/Location Controls”将位置数据发送到模拟器,但是对于真实设备它是禁用的

(3)我在室内编程,所以不能使用物理gps定位功能(即使我打开“a-gps”)

(4)我在这里找到了另一个话题:Android mock location on device? 但是,我无法打开详细链接,例如“安德鲁斯链接”、“http://dehuysser.appspot.com/blog/android-developer-shell-released

我猜这些网站是我国禁止的......


这是我的问题:

(A)我找到了一些制作模拟定位数据的代码,但是这些代码无法激活“onLocationChanged”功能

但是,我想知道是否有一种方法可以通过 USB 端口将定位数据从 PC 发送到真实设备(我处于 USB 调试模式),就像从 DDMS 发送位置到模拟器一样?

(B)我得到的信息是,可以通过“telnet localhost”向模拟器和真实设备发送“geo fix”命令,但是如何检查被占用的端口号我的真实设备?

我知道5554端口是用来做模拟器的,但是真机呢?

我尝试在终端中命令“netstat”,但很遗憾我不知道我的安卓手机是哪个端口......

(C)如果我的(A)(B)问题不实用,那么“设置/应用程序/开发/允许模拟位置”是做什么用的?

请帮帮我,谢谢你的回答!

【问题讨论】:

    标签: android device geo


    【解决方案1】:

    我为此编写了一个应用程序(默认情况下,此功能在手机上不可用)-它是open source,并提供与模拟器完全相同的界面(telnet 到:5554 并运行“geo fix ...”或“geo nmea”):在应用商店MockGeoFix

    【讨论】:

      【解决方案2】:

      使用模拟数据的最简单方法是使用模拟测试位置提供程序 API。它位于documentation page 的底部。我已经尝试过了,并且在 onLocationChanged 回调中收到了位置。 Here 是一些您可以尝试的代码。

      adb使用的端口一般是5037。

      【讨论】:

        猜你喜欢
        • 2011-03-18
        • 2012-04-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-12-15
        • 1970-01-01
        • 2015-11-18
        相关资源
        最近更新 更多