Articles of google api client

GoogleApiClient登录失败

我正试图在我的Android游戏中使用Google Games回合制Api。 我用来连接GoogleApiClient的代码来自Google的Api示例或文档。 在我的onConnectionFailed实现中,我尝试了两种不同的方法: if (signInClicked || autoStartSignInFlow) { autoStartSignInFlow = false; signInClicked = false; resolvingConnectionFailure = true; // Attempt to resolve the connection failure using BaseGameUtils. // The R.string.signin_other_error value should reference a generic // error string in your strings.xml file, such as “There was // an issue with sign-in, please try again later.” […]

SecurityException:不允许启动服务Intent act = com.google.android.c2dm.intent.REGISTER

我得到错误SecurityException: Not allowed to start service Intent但看起来在搜索许多主题后它没有很好的解决方案。 请帮帮我, 谢谢, p / s: 我确保使用了正确的SENDER_ID因为项目编号是在Google API Console定义的,并且正确的package name 。 错误: Caused by: java.lang.SecurityException: Not allowed to start service Intent { act=com.google.android.c2dm.intent.REGISTER pkg=com.google.android.gms (has extras) } without permission com.google.android.c2dm.permission.RECEIVE at android.app.ContextImpl.startServiceAsUser(ContextImpl.java:1785) at android.app.ContextImpl.startService(ContextImpl.java:1757) at android.content.ContextWrapper.startService(ContextWrapper.java:480) at com.google.android.gms.gcm.GoogleCloudMessaging.e(Unknown Source) at com.google.android.gms.gcm.GoogleCloudMessaging.register(Unknown Source) at controller.RegisterGCMClientAsync.doInBackground(RegisterGCMClientAsync.java:62) at controller.RegisterGCMClientAsync.doInBackground(RegisterGCMClientAsync.java:18) at android.os.AsyncTask$2.call(AsyncTask.java:287) at […]

什么是新生成的代码“这是自动生成的,用于实现App Indexing API。”?

背景 我今天刚刚创建了一个新的POC(关于活动转换,但这不是主题),我注意到在主要活动的“onCreate”方法中写了一个新行: // ATTENTION: This was auto-generated to implement the App Indexing API. // See https://g.co/AppIndexing/AndroidStudio for more information. mClient = new GoogleApiClient.Builder(this).addApi(AppIndex.API).build(); 和更多: @Override public void onStart() { super.onStart(); // ATTENTION: This was auto-generated to implement the App Indexing API. // See https://g.co/AppIndexing/AndroidStudio for more information. mClient.connect(); Action viewAction = Action.newAction( Action.TYPE_VIEW, // TODO: […]

Google Api客户端有时在onConnected中为NULL

我实现了GoogleApiClient : mGoogleApiClient = new GoogleApiClient.Builder(this) .enableAutoManage(this, 0 /* clientId */, this) .addApi(LocationServices.API) .addApi(Places.GEO_DATA_API) .addConnectionCallbacks(this) .build(); 但在onConnected方法中,我检查mGoogleApiClient => value null。 在这种情况下,我尝试重新构建googleApiClient但我收到错误: java.lang.IllegalStateException: Already managing a GoogleApiClient with id 0 请帮助我理解为什么mGoogleApiClient有时候是NULL,因为它已连接:|。 (注意。我检查了所有源代码,我从未将GoogleApiClient设置为NULL)。 谢谢! 更新 我尝试使用最新版本的播放服务后,我的问题现在解决了。 谢谢大家的帮助。

Google使用g-plus最新API登录并注销

我已经完成了一些与google plus登录和注销相关的stackoverflow问题。 其中大部分已经过时了。 我无法实现我真正想要的东西。 退出后,下次登录时,我希望用户选择可用的Google帐户再次登录。 我正在使用自定义登录和注销按钮。 为了退出,我有两个案例, 如果任何用户已在同一登录活动中登录,请在登录前退出。 从不同的活动中退出。 这是我到目前为止实施的内容: public class LoginActivity extends AppCompatActivity implements OnClickListener{ private static final int RC_SIGN_IN = 9001; private GoogleApiClient mGoogleApiClient; private ConnectionResult mGoogleConnectionResult; private Button login; private ProgressDialog mProgressDialog; private Context mContext; private String mUri; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); mContext= LoginActivity.this; requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.login_layout); login= (Button) […]

GoogleApiClient onConnectionSuspended,我应该再次调用mGoogleApiClient.connect()吗?

我在服务中使用GoogleApiClient来请求融合位置更新。 每件事都正常工作,但有时会挂起连接并调用onConnectionSuspended。 @Override public void onCreate() { … mGoogleApiClient = new GoogleApiClient.Builder(this) // this is a Context .addApi(LocationServices.API) .addConnectionCallbacks(this) // this is a [GoogleApiClient.ConnectionCallbacks][1] .addOnConnectionFailedListener(this) // .build(); mGoogleApiClient.connect(); … } @Override public void onConnectionSuspended(int arg0) { // what should i do here ? should i call mGoogleApiClient.connect() again ? ? } 在上面的链接(ConnectionCallback doc)中,它说: 应用程序应禁用需要该服务的UI组件,并等待对onConnected(Bundle)的调用以重新启用它们。 但是这个对onConnected的调用将如何发生呢? […]

在片段中使用enableAutoManage()

还有其他方法可以连接Google API客户端吗? 我使用自动完成的地方,我必须在MYFRAGMENT的某些地方使用此代码 mGoogleApiClient = new GoogleApiClient.Builder(MainActivity.this) .addApi(Places.GEO_DATA_API) .enableAutoManage(this, GOOGLE_API_CLIENT_ID, this) .addConnectionCallbacks(this).build(); 我的问题 enableAutoManage(this, GOOGLE_API_CLIENT_ID, this) .addConnectionCallbacks(this).build(); 我不能处理它,因为当我用getActivity()替换它时,我有很多问题需要进行转换 感谢您的帮助,对不起,如果这个问题很愚蠢。

javax.net.ssl.SSLHandshakeException:在握手时远程主机关闭连接,同时在bigquery中插入行

嗨,我正在研究Android应用程序,我已经集成了bigquery。 我发现有时我们在向大查询表插入数据时会遇到很多SSLexception。 我不知道如何处理这个问题。 请帮助究竟是什么原因导致这个问题。 这是相同的线程,但在进行流式插入api调用时没有回答Bigquery SSL错误 javax.net.ssl.SSLHandshakeException: Remote host closed connection during handshake at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:946) ~[na:1.7.0_51] at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1312) ~[na:1.7.0_51] at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1339) ~[na:1.7.0_51] at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1323) ~[na:1.7.0_51] at sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:563) ~[na:1.7.0_51] at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:185) ~[na:1.7.0_51] at sun.net.www.protocol.http.HttpURLConnection.getOutputStream(HttpURLConnection.java:1091) ~[na:1.7.0_51] at sun.net.www.protocol.https.HttpsURLConnectionImpl.getOutputStream(HttpsURLConnectionImpl.java:250) ~[na:1.7.0_51] at com.google.api.client.http.javanet.NetHttpRequest.execute(NetHttpRequest.java:77) ~[google-http-client-1.19.0.jar:1.19.0] at com.google.api.client.http.HttpRequest.execute(HttpRequest.java:965) ~[google-http-client-1.19.0.jar:1.19.0] at com.google.api.client.googleapis.batch.BatchRequest.execute(BatchRequest.java:241) ~[google-api-client-1.19.1.jar:1.19.1] at com.livestream.analytics.datastorage.worker.InsertApiActor$$anonfun$2$$anonfun$4.apply(InsertApiActor.scala:131) ~[analytics-data-storage-worker_2.11-1.0.0.jar:1.0.0] at com.livestream.analytics.datastorage.worker.InsertApiActor$$anonfun$2$$anonfun$4.apply(InsertApiActor.scala:118) ~[analytics-data-storage-worker_2.11-1.0.0.jar:1.0.0] at com.livestream.analytics.common.store.bigquery.api.BigQueryApi$.withSyncClient(BigQueryApi.scala:71) ~[analytics-common_2.11-1.0.0.jar:1.0.0] […]

无声的谷歌login在Android的后台服务

我在我的android应用程序中运行后台服务。 我使用从login活动获得的IdToken在后端服务器进行身份validation。 该服务正在以START_STICKY模式运行,因此即使closures该应用程序,该服务也会继续在后台运行,以便从后端服务器获取任何通知。 我面临的问题是当IdToken过期时,我无法在服务本身中更新它。 如果令牌已过期,则callback函数不会收到任何结果。 如果令牌尚未过期,则会立即得到结果。 这里是signIn函数和handleSignIn函数的代码。 private void signIn() { new Thread(new Runnable() { public void run() { GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN) .requestEmail() .requestIdToken("<My server_client_id>") .build(); GoogleApiClient mGoogleApiClient = new GoogleApiClient.Builder(context) .addApi(Auth.GOOGLE_SIGN_IN_API, gso) .build(); OptionalPendingResult<GoogleSignInResult> opr = Auth.GoogleSignInApi.silentSignIn (mGoogleApiClient); if (opr.isDone()) { // If the user's cached credentials are valid, the OptionalPendingResult will […]

Android GoogleAPIClient – NoClassDefFoundError:com / google / android / gms / internal / zzsa

我正在开发一个应用程序,使用GoogleAPIClient(显然)获取用户当前位置在后台。 为了完成这个任务,我使用了带有WakefulBroadcastReceiver的IntentService(每小时获取位置)。 在开发环境中一切正常,但在Play Store中部署时,有些设备出现此错误: Fatal Exception: java.lang.NoClassDefFoundError: com/google/android/gms/internal/zzsa at com.google.android.gms.common.api.GoogleApiClient$Builder.<init>(Unknown Source) at tellerina.com.br.vivara.services.MyService.onHandleIntent(MyService.java:37) at android.app.IntentService$ServiceHandler.handleMessage(IntentService.java:65) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:157) at android.os.HandlerThread.run(HandlerThread.java:61) 我已经search了互联网的答案,但我没有find任何东西。 以下是出现exception的地方: mGoogleApiClient = new GoogleApiClient.Builder(MyApplication.getContext()) .addConnectionCallbacks(this) .addOnConnectionFailedListener(this) .addApi(LocationServices.API) .build(); 非常感谢! 编辑 应用程序build.gradle buildscript { repositories { maven { url 'https://maven.fabric.io/public' } } dependencies { classpath 'io.fabric.tools:gradle:1.21.2' } } apply plugin: 'com.android.application' apply plugin: […]