- 在Android中定位是属于危险权限,需要在添加Mainfest.xml中添加。
1
2<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
定位的几种方式
- 在Android系统当中,给我们提供了四种定位方式,分别是:
- network
它是依靠信号塔或WiFi来定位的。对应的provider字段是LocationManager.NETWORK_PROVIDER,是一种低精度,低耗电的初略定位方式。 - gps 它是依靠GPS来定位的。对应的provider字段是LocationManager.GPS_PROVIDER,是高精度,高耗电的精准定位方式。
passive 被动的获取定位信息,通过接受其他APP或service的定位信息。不过需要这个权限ACCESS_FINE_LOCATION。
1
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
fused Google已经将这个定位方式hide了。
获取定位的api封装
1 | public class LocationUtils { |
获取定位使用实例
1 | public class MainActivity extends AppCompatActivity implements View.OnClickListener { |
- 关于GPS定位的信息还有比较多的内容,在API24中GpsStauts类过时,使用GnssStatus类替换,同时在LocationManager中的一些GPS状态的监听,也被新的API退换。