Android LocationServices lastKnownPosition

时间:2015-05-07 07:36:34

标签: android google-play-services android-location google-api-client

我环顾四周但却无法找到解决方案。我试图在Android中找到最后一个已知位置,我已经从谷歌开发者那里看到了这个,但函数onConnected()从未被调用过。另外,如果我将其放在onCreate()中,则Android的地理定位图标永远不会打开。

该应用使用已使用FusedLocation的权限和Google服务。

//class implements ConnectionCallbacks, OnConnectionFailedListener
protected void onCreate(Bundle savedInstanceState) {
    [...]
    buildGoogleApiClient();
}

@Override
protected void onStart() {
    super.onStart();
    mGoogleApiClient.connect();
}

protected synchronized void buildGoogleApiClient() {
    mGoogleApiClient = new GoogleApiClient.Builder(this)
            .addConnectionCallbacks(this)
            .addOnConnectionFailedListener(this)
            .addApi(LocationServices.API)
            .build();
}

@Override
public void onConnected(Bundle connectionHint) {
    mLastLocation = LocationServices.FusedLocationApi.getLastLocation(
            mGoogleApiClient);
    if (mLastLocation != null) {
        String lat = String.valueOf(mLastLocation.getLatitude()); //it's only for test
        String lng = String.valueOf(mLastLocation.getLongitude());
    }
}

编辑:没关系,离开功能一天后工作正常。代码是一样的。我要删除这个问题吗?

1 个答案:

答案 0 :(得分:0)

您应该使用FusedLocationProvide api,它在您构建时提供更准确的位置更新。下面是代码 -

build.gradle

它一定会有用。让我们尝试一下。