- getAllProviders:获取所有的定位方式
LocationManager lm=(LocationManager)getSystemService(Context.LOCATION_SERVICE);
List<String> list=lm.getAllProviders(); //获取所有的定位类型
for(int i=0;i<list.size();i++)
{
Log.e("MainActivity",list.get(i));
}
2.获取最佳定位方式
Criteria criteria = new Criteria();
String provider=lm.getBestProvider(criteria,true);
Log.e("MainActivity",provider);
3.实现简单的GPS定位功能
public class MainActivity extends AppCompatActivity {
private TextView tvShow;
LocationListener listener=new LocationListener() {
@Override
public void onLocationChanged(Location location) {
tvShow.append("\n 经度:" + location.getLongitude());
tvShow.append("\n 纬度:" + location.getLatitude());
}
@Override
public void onStatusChanged(String provider, int status, Bundle extras) {
}
@Override
public void onProviderEnabled(String provider) {
}
@Override
public void onProviderDisabled(String provider) {
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tvShow=(TextView)findViewById(R.id.tvShow);
LocationManager lm=(LocationManager)getSystemService(Context.LOCATION_SERVICE);
//判断是否已经添加权限
PackageManager pm = getPackageManager();
boolean permission = (PackageManager.PERMISSION_GRANTED ==
pm.checkPermission("android.permission.ACCESS_FINE_LOCATION", "com.android.ebeijia.location"));
//注册
if(permission)
{
//获取最好的定位方式
Criteria criteria1= new Criteria();
String provider1=lm.getBestProvider(criteria1,true);
lm.requestLocationUpdates(provider1, 3000, 8,listener);
}
}
}
4.移除Location监听
//解绑
lm.removeUpdates(listener);