最近公司要开发android 所以研究了一下Xamarin  to android 中个GPS

废话不多说,说重点。

想获取手机上的gps信息必不可少的就是要使用

LocationManager

Location 

有了这两个类还不行要要给其权限  ACCESS_FINE_LOCATION(如果要问这个权限在哪里,项目-属性-Android Manifest)

我一开始把所有的代码都写在一个事件里面,可以获取到信息,但是封装了后就不行了。在baidu和google找了好长时间都说使用

DDMS  或者Telnet 来发送位置信息,但是我都试了就是location返回null 

后来我还是查了API发现必须要在开始的时候声明 LocationManager 和RequestLocationUpdates的信息 

代码如下

 LocationManager mLocationManager;

mLocationManager = GetSystemService(Context.LocationService) as LocationManager;

string Provider = LocationManager.GpsProvider;

if (mLocationManager.IsProviderEnabled(Provider))
{
mLocationManager.RequestLocationUpdates(Provider, 2000, 1, this);
}

否则模拟器上的gps图标不会显示,使用这句之后再点击位置发送,就会看大模拟器上回出现gps的图标

写到这里如果还不明白,可以邮件问我396116416@qq.com 或者我把源码发给你。

如果我写有不对的地方还请看到的大神多多指教,写在这里就是希望有遇到同样的问题可以少走一些弯路

大家 一起进步。

 

Posted on 2016-03-03 14:33  lichen396116416  阅读(586)  评论(4编辑  收藏  举报