我有一个登录屏幕,你可以通过谷歌登录,但当我点击登录,然后选择帐户,它停留在相同的活动。日志中的错误如下:
W/InputMethodManager: startInputReason = 1
E/GoogleProvider: Error logging in with Google. 16 null
EGLNativeWindowType 0x704a430010 disconnect failed
Activity resumed, time: 182884358该活动的代码如下:
import android.content.Intent;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.v7.app.AppCompatActivity;
import com.firebase.ui.auth.AuthUI;
import com.google.firebase.auth.FirebaseAuth;
import com.google.firebase.auth.FirebaseUser;
import java.util.Arrays;
public class LoginActivity extends AppCompatActivity {
private static final int RC_SIGN_IN = 123;
private FirebaseAuth mAuth;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
startActivityForResult(AuthUI.getInstance().createSignInIntentBuilder()
.setAvailableProviders(
Arrays.asList( new AuthUI.IdpConfig.GoogleBuilder().build(),
new AuthUI.IdpConfig.FacebookBuilder().build()))
.setIsSmartLockEnabled(false)
.setTheme(R.style.AppTheme)
.build(),
RC_SIGN_IN);
mAuth = FirebaseAuth.getInstance();
mAuth.addAuthStateListener(firebaseAuth -> {
if(firebaseAuth.getCurrentUser()!= null) {
startHomeActivity();
}
});
}
@Override
public void onStart() {
super.onStart();
FirebaseUser currentUser = mAuth.getCurrentUser();
if(currentUser != null) {
startHomeActivity();
}
}
private void startHomeActivity() {
Intent intent = new Intent(getApplicationContext(), Home.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
startActivity(intent);
}
}我已经用SHA1签署了Firebase并激活了服务中的登录选项。
发布于 2018-10-15 12:53:05
要解决的步骤是:
钥匙工具-list -v -keystore ~/..android/调试器
2-复制SHA1 (必须是SHA1,因为这是他们用于Oauth的)
3-登录到您的防火墙控制台->项目设置->通用-> android应用程序
4-向下滚动并将SHA1指纹添加到指纹列表中
5-下载新的google-services.json,并在你的android工作室项目中替换。
6-从电话中删除应用程序并重新部署
发布于 2018-10-08 08:42:58
尝试在SHA1中的项目设置中为包名添加您的消防控制台。
https://stackoverflow.com/questions/52543056
复制相似问题