Rumah >Java >javaTutorial >在Android模拟器上模拟GPS功能总是null的解决方法

在Android模拟器上模拟GPS功能总是null的解决方法

高洛峰
高洛峰asal
2017-01-07 15:09:462037semak imbas

我们都知道,在我们开发时需要在模拟器上模拟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来定位,如果是别的方式还是会报告错误


更多在Android模拟器上模拟GPS功能总是null的解决方法相关文章请关注PHP中文网!


Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn