2017-08-24 28 views
0

我想为使用Firebase UI的Firebase用户登录调用AuthStateListener,但是在执行活动时不调用该方法。我以前做过同样的过程,不同的应用下面是代码:FIrebase AuthStateListener没有被调用

mAuthListener = new FirebaseAuth.AuthStateListener() { 
     @Override 
     public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) { 
      FirebaseUser firebaseUser = firebaseAuth.getCurrentUser(); 

      if (firebaseUser != null) { 
       Log.d(TAG, "In SignedinFirebaseMethod"); 

      } else { 
       startActivityForResult(
         AuthUI.getInstance() 
           .createSignInIntentBuilder() 
           .setIsSmartLockEnabled(false) 
           .setProviders(AuthUI.GOOGLE_PROVIDER, 
             AuthUI.EMAIL_PROVIDER) 
           .build(), 
         RC_SIGN_IN); 
      } 
     } 
    }; 

这里是摇篮代码:

android { 
compileSdkVersion 25 
buildToolsVersion "24.0.1" 
defaultConfig { 
    applicationId "com.example.hamid_pc.auctionapp" 
    minSdkVersion 16 
    targetSdkVersion 25 
    versionCode 1 
    versionName "1.0" 
    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" 
    } 
buildTypes { 
    release { 
     minifyEnabled false 
     proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
    } 
} 
} 

dependencies { 
compile fileTree(dir: 'libs', include: ['*.jar']) 
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { 
    exclude group: 'com.android.support', module: 'support-annotations' 
}) 
compile 'com.android.support:appcompat-v7:25.3.1' 
compile 'com.google.firebase:firebase-database:10.0.1' 
compile 'com.android.support:recyclerview-v7:25.3.1' 
compile 'com.android.support:design:25.3.1' 
compile 'com.android.support:support-v4:25.3.1' 
compile 'net.danlew:android.joda:2.9.9' 
compile 'com.google.firebase:firebase-storage:10.0.1' 
compile 'com.google.firebase:firebase-auth:10.0.1' 
compile 'com.firebaseui:firebase-ui:1.1.1' 
testCompile 'junit:junit:4.12' 
} 

apply plugin: 'com.google.gms.google-services' 
+0

后您的应用程序模块的build.gradle文件时,我并没有安装监听器被注销。 –

+0

@BobSnyder我已经更新了代码并包含了gradle代码 – Pheonix

+0

我没有在那里看到问题。您的设备是否安装了兼容版本的Google Play服务?当您的应用初始化时,您是否在logcat中看到'W/GooglePlayServicesUtil:Google Play服务已过期'消息? –

回答

0

尝试用火力做AUTH之前注册的监听器。有可能你迟到了听众。

抽象无效onAuthStateChanged(FirebaseAuth AUTH)

,此方法被调用在UI线程上的认证状态的改变:听众已经注册右后

  • 当用户登录时

  • 当当前用户在当前用户更改
+0

我不认为注册听众是问题 – Pheonix

+0

你可以在活动中显示流程,在什么时候调用firebaseauth.signin –

+0

该方法在OnCreate方法中调用,代码高于 – Pheonix

-2

我在代码中发现了错误开始的片段

@Override 
public void onStart() { 
    super.onStart(); 
    mAuth.addAuthStateListener(mAuthListener); 
} 
相关问题