如果没有互联网,如何阻止 Google 玩游戏 window 弹出

How to stop Google Play Games window from popping up if there is no INTERNET

我分别使用 Plus.API、Game.API 和 Drive.API 进行应用内购买、排行榜和保存游戏设置。

每次我进入游戏时,Google Play Games 都会弹出,即使我多次拒绝登录。我怎样才能让游戏。API/Driver.API 只显示一次登录,如果没有 INTERNET 连接,则在用户下次启动游戏之前停止弹出?

这是我的代码:

//--------------------- Google API INIT
mGoogleApiClient = new GoogleApiClient.Builder(this)
    .addConnectionCallbacks(this)
    .addOnConnectionFailedListener(this)
    .addApi(Plus.API).addScope(Plus.SCOPE_PLUS_LOGIN)   //used for Screenshot posting and Google Account for google api services
    .addApi(Games.API).addScope(Games.SCOPE_GAMES)      //user for Leaderboards
    .addApi(Drive.API).addScope(Drive.SCOPE_APPFOLDER)  //used for Game Saving
    .build();


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

@Override
protected void onStop() {
    if (mGoogleApiClient.isConnected()) {
        mGoogleApiClient.disconnect();
    }
    super.onStop();
}

在您的代码中,您正在使用 API 的 .connect() 方法。这将尝试连接到服务以使用 G+ 进行身份验证。如果您希望在用户第一次关闭 popup/button 时避免这种情况,您必须将其作为首选项存储在您的应用程序中并在您的代码中进行管理。

关于检查连接状态,请检查此处的实现:How to check internet access on Android? InetAddress never times out