“如何发送”;“地理定位”;Android真实设备的命令?

“如何发送”;“地理定位”;Android真实设备的命令?,android,device,geo,Android,Device,Geo,首先,谢谢你关注我的问题 我计划设计一个Android GPS定位应用程序 以下是我的困难和处境 (1) 我的电脑硬件已经过时很长时间了,运行android模拟器进行调试真的很费时,因此我在一周前买了一台真正的设备(android手机),目的是在调试期间更换模拟器 (2) 我知道如何通过“DDMS/emulator Control/location Controls”(DDMS/emulator控件/位置控件)将位置数据发送到仿真器,但对于实际设备,它是禁用的 (3) 我在室内编程,因此使用物理

首先,谢谢你关注我的问题

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

以下是我的困难和处境

(1) 我的电脑硬件已经过时很长时间了,运行android模拟器进行调试真的很费时,因此我在一周前买了一台真正的设备(android手机),目的是在调试期间更换模拟器

(2) 我知道如何通过“DDMS/emulator Control/location Controls”(DDMS/emulator控件/位置控件)将位置数据发送到仿真器,但对于实际设备,它是禁用的

(3) 我在室内编程,因此使用物理gps定位功能是不可接受的(即使我打开“a-gps”)

(4) 我在这里找到了另一个话题: 但是,我无法打开详细链接,如“Andrews链接”

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


以下是我的问题:

(A) 我发现了一些制作模拟移动数据的代码,但这些代码无法激活“onLocationChanged”功能

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

(B) 我得到的信息是,可以通过“telnet localhost”将“geo-fix”命令发送到emulator以及真实设备,但是如何检查真实设备占用的端口号呢

我知道5554端口用于模拟器,但真正的设备呢

我曾试图在终端中命令“netstat”,但遗憾的是,我不知道我的android手机的端口是什么

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


请帮助我,谢谢你的回答

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


adb使用的端口通常是5037。

我已经为此编写了一个应用程序(默认情况下,此功能在手机上不可用)-它是并提供与模拟器完全相同的接口(telnet到:5554并运行“geo fix…”或“geo nmea”):在app store中