通过Criteria获取LocationProvider

程序调用LocationManager的getAllProviders()方法返回了系统所有可用的LocationProvider,如果我们希望得到符合指定条件的LocationProvider,可以通过LocationManager的getProviders(Criteria criteria,boolean enabledOnly)方法获取

//获取系统的LocationManager对象
LocationManager mLocationManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE);

//创建过滤条件Criteria
Criteria mCriteria = new Criteria();

//设置要求LocationProvider必须是免费的
mCriteria.setCostAllowed(false);

//设置要求LocationProvider能提供高度信息
mCriteria.setAltitudeRequired(true);

//设置要求LocationProvider能提供方向信息
mCriteria.setBearingRequired(true);

//获取符合要求的LocationProvider
List<String> providers =  mLocationManager.getProviders(mCriteria,false);
//创建Adapter
ArrayAdapter<String> adapter = new ArrayAdapter<String>(MainActivity.this,android.R.layout.simple_list_item_1,providers);
listview.setAdapter(adapter);

你可能感兴趣的:(Android中的GPS,GPS,定位,Criteria,Android)