Android GPS定位

第一种:Network Provider

LocationManager lm = (LocationManager)context.getSystemService(Context.LOCATION_SERVICE);
String locationProvider = LocationManager.NETWORK_PROVIDER;
Location location = lm.getLastKnownLocation(locationProvider);
TextView tv = (TextView)findViewById(R.id.textview);
tv.setText("gps enabled"+location.getLongitude() + "," + location.getLatitude());

 同时用GPS_PROVIDER和NETWORK_PROVIDER

http://blog.sina.com.cn/s/blog_588508f801010l1n.html

if(lm.isProviderEnabled(LocationManager.GPS_PROVIDER))
{lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, ll);}
else{lm.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0, ll);}
 
手机位置定位的四种模式:
- GPS定位(GPS_PROVIDER)
- 网络定位(NETWORK_PROVIDER)
- 被动定位(PASSIVE_PROVIDER)
- 融合定位(FUSED_PROVIDER)
监视位置变化:locationManager.requestLocationUpdates(provider, 2000, 0, locationListener);
第一个参数是位置提供者;第二个参数是产生位置改变时间的时间间隔(微秒);第三个参数是距离条件(米);第四个参数是回调函数,用来处理位置改变时间。实现locationListener的代码如下:
  • onLocationChanged() 在位置改变时被调用
  • onStatusChanged() 在定位功能硬件状态改变时被调用
  • onProviderEnabled 在用户启用具有定位功能的硬件时被调用
  • onProviderDisabled() 在用户禁用具有定位功能的硬件时被调用

参考:https://blog.csdn.net/yhaolpz/article/details/51346242

原文地址:https://www.cnblogs.com/2008nmj/p/14962231.html