Android GoogleApiClient:无法连接
Android GoogleApiClient: Can't connect
我正在尝试将新的 GoogleApiClient
实施到我的 android 应用程序中,但是 GoogleApiClient
无法连接。我使用 connect()
方法,但是 isConnecting()
方法 returns 始终为真而 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" />
有人能帮忙吗?
当您构建 Api 客户端时,您正在添加连接回调,在您的情况下是 Activity 本身实现这些回调。
您的 activity 应该实施的方法之一是 onConnected()
,它会在连接成功建立时调用。所以你需要从这个方法调用 openAchievements()
。然后你可以删除不必要的检查 !mGoogleApiClient.isConnected()
Google 'Play Games' 应用程序和服务在上次更新后无法使用。所以我必须等待测试我的应用程序。
谢谢!
我正在尝试将新的 GoogleApiClient
实施到我的 android 应用程序中,但是 GoogleApiClient
无法连接。我使用 connect()
方法,但是 isConnecting()
方法 returns 始终为真而 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" />
有人能帮忙吗?
当您构建 Api 客户端时,您正在添加连接回调,在您的情况下是 Activity 本身实现这些回调。
您的 activity 应该实施的方法之一是 onConnected()
,它会在连接成功建立时调用。所以你需要从这个方法调用 openAchievements()
。然后你可以删除不必要的检查 !mGoogleApiClient.isConnected()
Google 'Play Games' 应用程序和服务在上次更新后无法使用。所以我必须等待测试我的应用程序。
谢谢!