使用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 服务我可以在离线模式下获取最新位置吗(FusedLocationProvider Api)
google play services location api有时会给出错误的位置