Android模拟器上模拟GPS [复制链接]

2012-9-5 10:10
bayou 阅读:2825 评论:0 赞:1
Tag:  Android 模拟器

开发时需要在模拟器上模拟GPS,可在Location的时候总是null,上网查了一下,发现如下解决:

 

网上大侠的解决方案:

在模拟器上获取GPS信息时,使用Location loc = LocationManager.getLastKnownLocation("gps");来获取location信息,但是往往在调试中loc是null的,因为首先需要在模拟器中手动添加GPS信息,有两种手动添加方法
1、在eclipse下,windows-->open perspective-->DDMS-->Emulator control-->Manual下手动设置经纬度,并按send按钮。但是这种方法经过我的测试,需要再下面方法的基础上才有效
2、在cmd下也可以手动添加信息。
(1)首先打开模拟器,然后运行cmd,输入telnet localhost 5554(注:5554是模拟器在本机的端口,有可能不一样哈,具体端口号,模拟器左上方有显示的),这样会出现
Android Console: type 'help' for a list of commands
OK的字样。
如果是使用WIN7的朋友,控制台可能会提示telnet无效什么的,那是因为WIN7下默认是不出现telnet的,需要手动打开。具体为:[1]控制面板-->程序-->打开或关闭Windows功能,然后将Telnet服务器和Telnet客户端勾选上。[2]然后在管理工具-->服务中手动启动Telnet

(2)使用geo命令模拟发送GPS信号:
geo fix 经度 纬度
(3)这时就会发现在模拟器的状态栏上多了一个GPS的标志~再使用Location loc = LocationManager.getLastKnownLocation("gps");就能获取到该坐标的位置了~~
 
我实际操作了一下,发现还是报告错误,还是没有出现GPS小指示图标,不知道是什么原因.上面的解决方案给了我提示,我觉得是模拟器没有开启GPS,在系统设置中启用也没有效果.后来我在模拟器上干脆直接运行google map,这次出现了gps指示图标,再调用获得location的方法就可以了,还要注意,必须指定用gps来定位,如果是别的方式还是会报告错误.

我来说两句
您需要登录后才可以评论 登录 | 立即注册
facelist
所有评论(0)
领先的中文移动开发者社区
18620764416
7*24全天服务
意见反馈:1294855032@qq.com

扫一扫关注我们

Powered by Discuz! X3.2© 2001-2019 Comsenz Inc.( 粤ICP备15117877号 )