Android支持通过LocationManager、LocationListener实时获取位置信息。
相关文档:请求位置权限 | Android 开发者 | Android Developers (google.cn)
目录
1、位置信息权限
1.1、App申请定位权限
在AndroidManifest.xml文件中增加使用权限声明:
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
注:uses-permission需在manifest标签下一级,不可嵌套在其他标签中。
- ACCESS_COARSE_LOCATION:大致位置
- ACCESS_FINE_LOCATION:确切位置
1.2、检查权限授予状态
ContextCompat | Android Developers (google.cn)
// 是否获得权限
if (ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION)
!= PackageManager.PERMISSION_GRANTED) {
// 未获得权限,则申请
if (shouldShowRequestPermissionRationale(Manifest.permission.ACCESS_FINE_LOCATION)) {
// 如果用户选择不开启
Toast.makeText(this, "相关权限未开启,无法正常使用定位服务!", Toast.LENGTH_SHORT).show();
}
// 申请权限
requestPermissions(new String[]{Manifest.permission.ACCESS_FINE_LOCATION}, REQUEST_CODE);
} else {
// 权限已获得
T