最近公司要开发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 或者我把源码发给你。
如果我写有不对的地方还请看到的大神多多指教,写在这里就是希望有遇到同样的问题可以少走一些弯路
大家 一起进步。