不知道为啥应用程序在 GoogleApiClient.connect() 上被强制关闭

Posted

技术标签:

【中文标题】不知道为啥应用程序在 GoogleApiClient.connect() 上被强制关闭【英文标题】:clueless why app is get force closed on GoogleApiClient.connect()不知道为什么应用程序在 GoogleApiClient.connect() 上被强制关闭 【发布时间】:2015-04-03 14:19:56 【问题描述】:

应用程序强制关闭调用 GoogleApiClient.connect() 方法,至少如果它没有连接它应该调用 onConnectionFailed,但不知道为什么我的应用程序被强制关闭。当我评论 GoogleApiClient.connect() 方法时,它不会强制关闭............尝试几个小时。

这是我的代码

  package com.playservices.murali.playservices;

  import android.support.v7.app.ActionBarActivity;
  import android.os.Bundle;
  import android.util.Log;
  import android.view.Menu;
  import android.view.MenuItem;

   import com.google.android.gms.common.ConnectionResult;
   import com.google.android.gms.common.api.GoogleApiClient;
  import com.google.android.gms.games.Games;
  import com.google.android.gms.plus.Plus;


  public class MainActivity extends ActionBarActivity implements
    GoogleApiClient.ConnectionCallbacks,
    GoogleApiClient.OnConnectionFailedListener 
private GoogleApiClient mGoogleApiClient;
@Override
protected void onCreate(Bundle savedInstanceState) 
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    mGoogleApiClient = new GoogleApiClient.Builder(this)
            .addConnectionCallbacks(this)
            .addOnConnectionFailedListener(this)
            .addApi(Games.API).addScope(Games.SCOPE_GAMES)
            .addApi(Plus.API).addScope(Plus.SCOPE_PLUS_LOGIN)
            .build();


@Override
protected void onStart()

    super.onStart();
    mGoogleApiClient.connect();


protected void onStop()

    super.onStop();
    //mGoogleApiClient.disconnect();

@Override
public void onConnected(Bundle bundle) 



@Override
public void onConnectionSuspended(int i) 



@Override
public void onConnectionFailed(ConnectionResult connectionResult) 



android 的错误消息日志如下图所示

【问题讨论】:

检查 logcat 输出的其余部分...错误原因显示为 gms 的 INFO 级别条目。 【参考方案1】:

这个错误有几个常见的来源:

    您是否在AndroidManifest.xml 中正确定义了您的 Play 游戏应用 ID?它应该如下所示:

在您的application 标签中:

<meta-data android:name="com.google.android.gms.games.APP_ID"
          android:value="@string/app_id" />

    在 Google Play 开发者控制台中,您是否在“测试者”选项卡中添加了所有正确的帐户?任何想要在您的应用程序发布前使用的 Google 帐户都必须在此处注册。

    您是否(正确地)为您的应用程序创建了客户端 ID?对于游戏,请务必在 Google Play 开发者控制台中通过“链接的应用程序”标签而不是 Google 开发者控制台执行此操作。

【讨论】:

以上是关于不知道为啥应用程序在 GoogleApiClient.connect() 上被强制关闭的主要内容,如果未能解决你的问题,请参考以下文章

谷歌游戏服务成就不弹出

摇动手势在 iPhone 4 中不起作用,不知道为啥...?

ClassNotFoundException 解组时真的不知道为啥

Paypal IPN 无效返回,不知道为啥

Segue 被叫了两次,我不知道为啥 - 斯威夫特

发生了第一次机会异常......我不知道为啥