现在的位置: 首页 > 综合 > 正文

Android:GPS定位 Location == null

2014年09月05日 ⁄ 综合 ⁄ 共 1029字 ⁄ 字号 评论关闭

首先得允许Location 操作,AndroidManifest.xml 中加入代码:

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
 <uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
 <uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION" />


在模拟器上获取GPS信息时,使用Location location = LocationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);来获取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 location = LocationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);

就能获取到该坐标的位置了

抱歉!评论已关闭.