Ome*_*zer 4 android google-api google-plus google-play
每次我尝试使用 Google API 登录时,都会收到以下错误。我的清单具有适当的权限,并且我确实相应地创建了我的凭据。所以我不知道问题是什么。同意屏幕也不会显示。
\n\ncom.omer.notetoself D/NTS:\xef\xb9\x95 ConnectionResult{statusCode=SIGN_IN_REQUIRED, resolution=PendingIntent{3678d5c: android.os.BinderProxy@19bcbe30}, message=null}\nRun Code Online (Sandbox Code Playgroud)\n\n package com.omer.notetoself;\n\n import android.app.Activity;\n import android.content.Intent;\n import android.content.IntentSender;\n import android.os.Bundle;\n import android.util.Log;\n import android.view.Menu;\n import android.view.MenuItem;\n import android.view.View;\n import android.widget.Button;\n import android.widget.EditText;\n\n import com.google.android.gms.common.ConnectionResult;\n import com.google.android.gms.common.Scopes;\n import com.google.android.gms.common.api.GoogleApiClient;\n import com.google.android.gms.common.api.Scope;\n import com.google.android.gms.plus.Plus;\n\n\n `public class Activity_Login extends Activity implements View.OnClickListener,GoogleApiClient.ConnectionCallbacks,\n GoogleApiClient.OnConnectionFailedListener{` \n\n\n private static final int RC_SIGN_IN = 0;\n private GoogleApiClient mGoogleApiClient;\n /* Is there a ConnectionResult resolution in progress? */\n private boolean mIsResolving = false;\n\n /* Should we automatically resolve ConnectionResults when possible? */\n private boolean mShouldResolve = false;\n\n\n EditText editText_userName;\n EditText editText_password;\n\n Button button_facebook_login;\n Button button_google_login;\n Button button_login;\n Button button_signUp;\n\n String userName;\n String password;\n\n @Override\n protected void onStop() {\n super.onStop();\n mGoogleApiClient.disconnect();\n }\n\n @Override\n protected void onStart() {\n super.onStart();\n mGoogleApiClient.connect();\n }\n\n @Override\n protected void onCreate(Bundle savedInstanceState) {\n super.onCreate(savedInstanceState);\n setContentView(R.layout.activity_login);\n\n editText_userName = (EditText)findViewById(R.id.editText_username);\n editText_password = (EditText)findViewById(R.id.editText_password);\n button_login = (Button)findViewById(R.id.button_login);\n button_facebook_login = (Button)findViewById(R.id.button_facebook);\n button_google_login = (Button)findViewById(R.id.button_google);\n\n button_signUp = (Button)findViewById(R.id.button_signup);\n button_login.setOnClickListener(this);\n button_signUp.setOnClickListener(this);\n button_facebook_login.setOnClickListener(this);\n button_google_login.setOnClickListener(this);\n\n\n //GOOGLE+ API\n\n mGoogleApiClient = new GoogleApiClient.Builder(this)\n .addConnectionCallbacks(this)\n .addOnConnectionFailedListener(this)\n .addApi(Plus.API)\n .addScope(new Scope(Scopes.PROFILE))\n .addScope(new Scope(Scopes.EMAIL))\n .build();\n }\n\n\n @Override\n public boolean onCreateOptionsMenu(Menu menu) {\n // Inflate the menu; this adds items to the action bar if it is present.\n getMenuInflater().inflate(R.menu.menu_activity_login, menu);\n return true;\n }\n\n @Override\n public boolean onOptionsItemSelected(MenuItem item) {\n // Handle action bar item clicks here. The action bar will\n // automatically handle clicks on the Home/Up button, so long\n // as you specify a parent activity in AndroidManifest.xml.\n int id = item.getItemId();\n\n //noinspection SimplifiableIfStatement\n if (id == R.id.action_settings) {\n return true;\n }\n\n return super.onOptionsItemSelected(item);\n }\n\n @Override\n public void onClick(View v) {\n switch(v.getId()){\n case R.id.button_login: //AUTHENTICATE PARSE\n userName = editText_userName.getText().toString().trim();\n password = editText_password.getText().toString().trim();\n AppUtilities.parseLogin(this, userName, password);\n break;\n case R.id.button_signup: //LAUNCH SIGN UP ACTIVITY\n Intent intent = new Intent(\n Activity_Login.this,\n Activity_SignUp.class);\n startActivity(intent);\n break;\n case R.id.button_facebook:\n\n AppUtilities.facebookLogin(this);\n break;\n case R.id.button_google:\n initGoogle();\n\n\n\n break;\n\n }\n\n }\n\n public void initGoogle(){\n mGoogleApiClient.connect();\n }\n\n @Override\n public void onConnected(Bundle bundle) {\n String email = Plus.AccountApi.getAccountName(mGoogleApiClient);\n AppUtilities.googleLogin(this,email);\n }\n\n @Override\n public void onConnectionSuspended(int i) {\n\n }\n\n @Override\n public void onConnectionFailed(ConnectionResult connectionResult) {\n AppUtilities.log(connectionResult.toString());\n\n\n if (!mIsResolving && mShouldResolve) {\n if (connectionResult.hasResolution()) {\n try {\n connectionResult.startResolutionForResult(this, RC_SIGN_IN);\n mIsResolving = true;\n } catch (IntentSender.SendIntentException e) {\n Log.e(AppUtilities.TAG, "Could not resolve ConnectionResult.", e);\n mIsResolving = false;\n mGoogleApiClient.connect();\n }\n } else {\n // Could not resolve the connection result, show the user an\n // error dialog.\n //showErrorDialog(connectionResult);\n }\n } else {\n // Show the signed-out UI\n //showSignedOutUI();\n }\n }\n}\nRun Code Online (Sandbox Code Playgroud)\n
确保 Google 开发者控制台中应用程序的 SHA-1 签名证书指纹属于用于签署您正在测试的 APK 的同一密钥。
默认情况下,在编译调试版本时 Android Studio 使用自己的调试密钥。您可以通过右键单击应用程序并选择“打开模块设置”来更改它。转到“签名”选项卡并配置您在开发控制台中提到的相同密钥。之后导航到“构建类型”选项卡并选择您的签名配置。
| 归档时间: |
|
| 查看次数: |
2771 次 |
| 最近记录: |