使用Google Play服务位置API来监听位置服务更新

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用Google Play服务位置API来监听位置服务更新相关的知识,希望对你有一定的参考价值。

我正在尝试使用Google Play服务的位置API(com.google.android.gms.location)来监听位置服务的更新(即用户在系统设置中打开/关闭位置)。

我知道我可以查询此信息:

import com.google.android.gms.location.LocationRequest;
import com.google.android.gms.location.LocationServices;
import com.google.android.gms.location.LocationSettingsRequest;
import com.google.android.gms.location.LocationSettingsResponse;
import com.google.android.gms.location.SettingsClient;


LocationRequest mLocationRequest = new LocationRequest();
mLocationRequest.setInterval(10000);
LocationSettingsRequest.Builder builder = new LocationSettingsRequest.Builder()
        .addLocationRequest(mLocationRequest);
LocationSettingsRequest.Builder builder = new LocationSettingsRequest.Builder();

// ...

SettingsClient client = LocationServices.getSettingsClient(this);
Task<LocationSettingsResponse> task = client.checkLocationSettings(builder.build());

我也知道我可以用android SDK来监听:

import android.location.LocationManager;
import android.provider.Settings

private BroadcastReceiver locationServicesBroadcastReceiver = new BroadcastReceiver() {
    @Override
    public void onReceive(Context context, Intent intent) {
        if (intent == null) {
            return;
        }
        if (LocationManager.PROVIDERS_CHANGED_ACTION.equals(intent.getAction())) {
            int locationMode = Settings.Secure.getInt(context.getContentResolver(), Settings.Secure.LOCATION_MODE);
            boolean isEnabled = locationMode != Settings.Secure.LOCATION_MODE_OFF;
        }
    }
};

但我可以使用Play服务API并收听吗?

答案

Google Play服务较新,可提供更好的管理此类请求的功能;他们更实惠。他们处理内存,电池使用和连接远远好于旧的android.location库。 Here it is where google deprecate it

以上是关于使用Google Play服务位置API来监听位置服务更新的主要内容,如果未能解决你的问题,请参考以下文章

查找位置:Google Play 位置服务或 Android 平台位置 API

在服务中访问 Google Play 服务位置 API

使用 Google Play 服务我可以在离线模式下获取最新位置吗(FusedLocationProvider Api)

google play services location api有时会给出错误的位置

如何在应用程序处于后台时保持GPS接收器位置更新(Google Play服务位置API)

如果没有更新 Google Play 服务,如何处理 Google API 客户端