Android 简单定位----Google Location Service的使用

       这段时间做国外地理定位,在项目中只需要用到定位,并不需要地图的其他服务,于是先使用了Android原生的位置获取,使用挺方便的,但是到最后死活获取不到postalCode(邮政编码),于是准备搞Google的位置服务试试。
一、先了解一下文档中的注意事项

      1、明确说明在8.0以后,后台对获取位置的时间做了限制,一个小时内只能获取几次,所有需要在后台使用服务需要注意。
      文档位置
文档对该服务描述

      2、Google提供的位置服务有别于Android原生,两者是各自的API
在这里插入图片描述

二、添加依赖和需要的权限

      1、在app下gradle的dependencies里添加依赖

// 位置服务
implementation "com.google.android.gms:play-services-location:17.0.0"

      2、在AndroidManiFest中配置权限,当然动态权限也需要的

<!--粗略位置-->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<!--精确位置-->
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
三、创建全局位置服务环境

1、在Activity的onCreate里初始化并添加监听

private FusedLocationProviderClient fusedLocationClient;
@Override
protected void onCreate(Bundle savedInstanceState) {
    
    fusedLocationClient = LocationServices.getFusedLocationProviderClient(this);
    fusedLocationClient.getLastLocation()
        .addOnSuccessListener(this, new OnSuccessListener<Location>() {
            @Override
            public void onSuccess(Location location) {
                if (location != null) {
                    // TODO
                }
            }
        });
}

2、因为是获取上一次定位的信息,所以location在以下几种情况会返回null
在这里插入图片描述

  1. 在定位服务被关闭的时候,因为关闭后会清除上次的定位信息
  2. 设备从未定位过
  3. 设备没有安装Google Service或被重启

后续更新监听…

评论 24
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

柯基爱蹦跶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值