Кнопка Google просто ничего не делает, я не получил ошибку или ничего. Мне нужен еще один глаз, чтобы посмотреть на это.
public class GoogleSignIn extends AppCompatActivity {
private SignInButton googleSignInBtn;
final String TAG ="Google-SignInActivity";
private static final int RC_SIGN_IN = 10;
private GoogleApiClient mGoogleApiClient;
private FirebaseAuth mAuth;
GoogleSignInClient mGoogleSignInClient;
private FirebaseAuth.AuthStateListener mAuthStateListener;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
/*mAuthStateListener = new FirebaseAuth.AuthStateListener() {
@Override
public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) {
if(firebaseAuth.getCurrentUser() != null){
Intent optionIntent = new Intent(GoogleSignIn.this, OptionActivity.class);
startActivity(optionIntent);
}
}
};*/
mAuth = FirebaseAuth.getInstance();
googleSignInBtn = (SignInButton) findViewById(R.id.googleSignIn);
// Configure Google Sign In
GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
.requestIdToken(getString(R.string.default_web_client_id))
.requestEmail()
.build();
//mGoogleSignInClient = Auth.GoogleSignInApi.getClient(this, gso);
mGoogleApiClient = new GoogleApiClient.Builder(getApplication())
.enableAutoManage(this, new GoogleApiClient.OnConnectionFailedListener() {
@Override
public void onConnectionFailed(@NonNull ConnectionResult connectionResult) {
Toast.makeText(GoogleSignIn.this, "Google sign in Error", Toast.LENGTH_SHORT).show();
}
})
.addApi(Auth.GOOGLE_SIGN_IN_API,gso)
.build();
googleSignInBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
signIn();
}
});
}
@Override
protected void onStart() {
super.onStart();
mAuth.addAuthStateListener(mAuthStateListener);
}
private void signIn() {
Intent signInIntent = Auth.GoogleSignInApi.getSignInIntent(mGoogleApiClient);
//Intent signInIntent = mGoogleSignInClient.getSignInIntent();
startActivityForResult(signInIntent, RC_SIGN_IN);
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
// Result returned from launching the Intent from GoogleSignInApi.getSignInIntent(...);
if (requestCode == RC_SIGN_IN) {
GoogleSignInResult result = Auth.GoogleSignInApi.getSignInResultFromIntent(data);
if(result.isSuccess()) {
// Google Sign In was successful, authenticate with Firebase
GoogleSignInAccount account = result.getSignInAccount();
firebaseAuthWithGoogle(account);
} else {
// Google Sign In failed, update UI appropriately
Log.w(TAG, "Google sign in failed");
// ...
}
}
}
private void firebaseAuthWithGoogle(GoogleSignInAccount account) {
Log.d(TAG, "firebaseAuthWithGoogle:" + account.getId());
AuthCredential credential = GoogleAuthProvider.getCredential(account.getIdToken(), null);
mAuth.signInWithCredential(credential)
.addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
if (task.isSuccessful()) {
// Sign in success, update UI with the signed-in user's information
Log.d(TAG, "signInWithCredential:success");
FirebaseUser user = mAuth.getCurrentUser();
Intent optionIntent = new Intent(GoogleSignIn.this, OptionActivity.class);
startActivity(optionIntent);
finish();
} else {
// If sign in fails, display a message to the user.
Log.w(TAG, "signInWithCredential:failure", task.getException());
Snackbar.make(findViewById(R.id.googleSignIn), "Authentication Failed.", Snackbar.LENGTH_SHORT).show();
//updateUI(null);
}
// ...
}
});
}
}
Мои зависимости приведены ниже, и я использовал все виды зависимостей, но ничего. Я использовал все версии FireBase
apply plugin: 'com.android.application'
android {
compileSdkVersion 26
defaultConfig {
applicationId "com.onyebuchboss.bossweatherbitcoinapp"
minSdkVersion 16
targetSdkVersion 26
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:26.1.0'
implementation 'com.android.support.constraint:constraint-layout:1.1.0'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.1'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'
compile 'com.google.firebase:firebase-database:15.0.0'
compile 'com.google.firebase:firebase-core:15.0.0'
compile 'com.google.firebase:firebase-auth:15.0.0'
compile 'com.google.android.gms:play-services-auth:15.0.0'
compile 'com.loopj.android:android-async-http:1.4.9'
compile 'com.android.support:design:26.1.0'
}
apply plugin: 'com.google.gms.google-services'
Пожалуйста, найдите исходный код для XML ниже
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/linearLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/green"
tools:context=".MainActivity"
tools:ignore="ExtraText">
<com.google.android.gms.common.SignInButton
android:layout_width="351dp"
android:layout_height="wrap_content"
android:layout_above="@+id/login_email"
android:layout_alignEnd="@+id/login_email"
android:layout_alignRight="@+id/login_email"
android:layout_marginBottom="43dp"
android:id="@+id/googleSignIn">
</com.google.android.gms.common.SignInButton>
<AutoCompleteTextView
android:id="@+id/login_email"
android:layout_width="354dp"
android:layout_height="wrap_content"
android:layout_above="@+id/login_password"
android:layout_alignLeft="@+id/login_password"
android:layout_alignStart="@+id/login_password"
android:layout_marginBottom="19dp"
android:hint="@string/prompt_email"
android:textColor="@android:color/white"
tools:textColor="@android:color/white"
tools:textColorHighlight="@android:color/white"/><![CDATA[
tools:layout_editor_absoluteX="17dp"
tools:textColor="@android:color/white"/>
]]>
<EditText
android:id="@+id/login_password"
android:layout_width="351dp"
android:layout_height="wrap_content"
android:layout_above="@+id/login_sign_in_button"
android:layout_centerHorizontal="true"
android:layout_marginBottom="79dp"
android:ems="10"
android:hint="@string/prompt_password"
android:inputType="textPassword"
android:textColorHint="@android:color/white"/>
<Button
android:id="@+id/login_sign_in_button"
android:layout_width="351dp"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/login_password"
android:layout_alignParentBottom="true"
android:layout_alignStart="@+id/login_password"
android:layout_marginBottom="83dp"
android:text="@string/action_sign_in_short"
tools:background="?attr/colorPrimary"
tools:layout_editor_absoluteY="400dp"
tools:textColor="@android:color/white"/>
<Button
android:id="@+id/login_register_button"
android:layout_width="351dp"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/login_sign_in_button"
android:layout_alignParentBottom="true"
android:layout_alignStart="@+id/login_sign_in_button"
android:layout_marginBottom="15dp"
android:text="@string/action_register"
android:textColor="@android:color/white"
android:textStyle="bold"
tools:background="@color/colorPrimary"/>
</RelativeLayout>