如何检查GoogleApiClient是否已连接?

时间:2017-07-22 15:31:56

标签: android google-api-client

我有一个带有地图的应用,如果这个应用是第一次没有互联网连接打开,地图不会显示但位置不断更新。如何检查是否已连接,然后将地图显示给用户。使用if(mGoogleApiClient != null){无法正常工作,即使没有互联网连接,它总是通过,正如我所提到的,没有互联网它会不断更新位置,但不会显示地图!

4 个答案:

答案 0 :(得分:0)

我一直在使用GoogleApiClient.isConnected()方法来检查它是否已连接。到目前为止,它对我很有用。

 public boolean isConnected ()
     

检查客户端当前是否已连接到该服务,以便这样做   对其他方法的请求将成功。应用应该保护   用户通过调用此方法导致的客户端操作。

您可以让Activity实施GoogleApiClient.ConnectionCallbacks以了解其连接时间。它有一个onConnected()方法,您可以在连接时编写代码。

    @Override
    public void onConnected(Bundle bundle) {
        Log.d("Connected", "Connected");
        // Do the Map related work.
    }

要了解Bundle参数,请参阅文档here

答案 1 :(得分:0)

{p> mGoogleApiClient.isConnected()如果GoogleApiClient已被接纳

,则会返回true

public abstract boolean isConnected () 检查客户端当前是否已连接到该服务,以便对其他方法的请求成功。应用程序应该通过调用此方法来保护用户引起的客户端操作。

答案 2 :(得分:0)

如果您只检查mGoogleApiClient,它将始终返回true,因为您已分配它并且不为空。您没有检查连接。相反,尝试mGoogleApiClient.isConnected(),它会在成功连接后返回true。

答案 3 :(得分:0)

  

public abstract boolean isConnected()

检查客户端当前是否已连接到该服务,以便对其他方法的请求成功。应用程序应该通过调用此方法来保护用户引起的客户端操作。

返回 如果客户端已连接到服务,则为true

参考:https://developers.google.com/android/reference/com/google/android/gms/common/api/GoogleApiClient#isConnected()