android 基于位置服务,Android 基于位置服务的基本知识
1、在android平臺使用位置服務(wù)需要使用位置管理器,獲得方法如下:
String locationService =Context.LOCATION_SERVICE;
LocationManager locationManager=(LocationManager)getSystemService(locationService);
android中為了安全機制在使用位置管理器的時候需要請求權(quán)限,請求方法如下:
這個兩個權(quán)限管理用戶在使用權(quán)限是可以使用的精度等級。Fine表示高精度、COARSE 表示的精度要差一點。
2、在獲得位置之前還得了解一下“提供器”,在android中有三種位置提供器,如下:
LocationManager.GPS_PROVIDER;
LocationManager.NETWORK_PROVIDER;
LocationManager.PASSIVE_PROVIDER;
其中要使用GPS實現(xiàn)位置定位需要fine權(quán)限 ,其他兩種coarse就可以了。
獲得所有可用提供器的列表:
boolean enable=true;
List providers=locationManager.getProviders(enable);
也可以指定條件查找,那么這就需要使用Criteria類
Criteria criteria=new Criteria();
criteria.setAccuracy(Criteria.ACCURACY_COARSE);
criteria.setPowerRequirement(Criteria.POWER_LOW);
criteria.setAltitudeRequired(false);
criteria.setBearingRequired(false);
criteria.setSpeedRequired(false);
criteria.setCostAllowed(true);
android3.0為Criteria引入了額外的屬性
criteria.setHorizontalAccuracy(Criteria.ACCURACY_HIGH);
String bestProvider=locationManager.getBestProvider(criteria,true);
3、?獲得手機的最后一次定位的方法:
Location location=locationManager.getLastKnowLocation(LocationManager.GPS_PROVIDER);
4、獲得實時地理位置信息
檢測地理位置變化有兩種方法,一種是使用LocationListener 一種是使用BroadCast Receiver;
String provider LocationManager.GPS_PROVIDER;
int t=5000;// 毫秒
int distance= 5;//米
LocationListener myListener=new LocationListener(){
.......
pubolic void onStatusChanged( String p,int status, Bundle b){
}
}
locationManager.requestLocationUpdates(provider,t,distance,mylistener);
當位置變化是的時候會在listener的方法onStatusChanged會被調(diào)用
總結(jié)
以上是生活随笔為你收集整理的android 基于位置服务,Android 基于位置服务的基本知识的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android 多个标签页,Androi
- 下一篇: 十月 android版本分布,安兔兔发布