如果没有互联网,如何阻止Google Play游戏窗口弹出

时间:2015-06-23 07:05:04

标签: google-drive-api in-app-purchase in-app-billing google-play-games google-api-client

我分别使用Plus.API,Game.API和Drive.API进行IN-APP购买,LeaderBoards和保存游戏设置。

每次进入游戏时,即使我多次拒绝登录,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();
}

1 个答案:

答案 0 :(得分:1)

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

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