2017-07-22 49 views
-1

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

回答

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

0

mGoogleApiClient.isConnected()如果您GoogleApiClient iscooncted

public abstract boolean isConnected() 检查该客户端当前连接到服务,使请求其他方法会成功将返回true。应用程序应通过调用此方法来防止由用户引起的客户端操作。

0

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