第一步,获取GPS服务(调用GPS服务不需要获取permission,不需要在manifest文件中添加权限)
LocationManager LocManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE); Location loc;
第二步,获取所有可用的GPS服务(当然可以直接判断其中某一个是否可用然后直接调用)
List<String> providerList = LocManager.getProviders(true); if(providerList.contains(LocationManager.GPS_PROVIDER)) loc = LocManager.getLastKnownLocation(LocationManager.GPS_PROVIDER); else if(providerList.contains(LocationManager.NETWORK_PROVIDER)) loc = LocManager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER); //如果没有一个可以用那就用Toast显示一下 else{ Toast.makeText(this, "please open GPS", Toast.LENGTH_SHORT).show(); return; }第三步,调用getxxx方法获取经纬度(longi和lati都是double类型)
longi = loc.getLongitude(); lati = loc.getLatitude();