我尝试将新GoogleApiClient
实施到我的Android应用程序中,但GoogleApiClient
无法连接。我使用connect()
方法,但isConnecting()
方法返回true,isConnected()
永远不会为真。
我的代码
初始化
mGoogleApiClient = new GoogleApiClient.Builder(this)
.addApi(Games.API).addScope(Games.SCOPE_GAMES)
.addConnectionCallbacks(this)
.addOnConnectionFailedListener(this)
.build();
连接
@Override
protected void onStart() {
super.onStart();
if( mGoogleApiClient != NULL )
mGoogleApiClient.connect()
}
打开排行榜
private void openAchievements() {
if( !mGoogleApiClient.isConnected() ) // always false
return;
startActivityForResult(Games.Achievements.getAchievementsIntent(mGoogleApiClient), REQUEST_ACHIEVEMENTS);
}
实现:
@Override
public void onConnected(Bundle bundle) {
Log.e("DEBUG", "Connected!");
}
@Override
public void onConnectionSuspended(int i) {
Log.e("DEBUG", "connection suspended");
}
@Override
public void onConnectionFailed(ConnectionResult connectionResult) {
Log.e("DEBUG", "connection failed");
}
权限:
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
元数据:
<meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" />
<meta-data android:name="com.google.android.gms.games.APP_ID" android:value="@string/app_id" />
有人可以帮忙吗?
答案 0 :(得分:0)
当您构建Api客户端时,您需要添加连接回调,在您的情况下,活动本身会实施这些回调。
您的活动应该实现的方法之一是onConnected()
,在成功建立连接时调用该方法。所以你需要从这个方法中调用openAchievements()
。然后,您可以删除不必要的支票!mGoogleApiClient.isConnected()
答案 1 :(得分:0)
Google“Play游戏”的应用和服务在上次更新时无效。所以我必须等待测试我的应用程序。
谢谢!