android getLastKnownLocation null
首先得允许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);
就能获取到该坐标的位置了
更多相关文章
- 【转】android:windowSoftInputMode属性使用
- Android(安卓)Studio(The Official IDE for Android)安装使用
- android电池信息简介
- android官网没法访问issue
- Android(安卓)Studio Emulator: Process finished with exit cod
- 制作登录界面的布局时候,可以使用 android:stretchColumns="0,3"
- 欢迎使用CSDN-markdown编辑器
- Android(安卓)SDK更新以及ADT更新出现问题的解决办法
- Android生命周期