2017-08-24 20 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); 
      } 
     } 
    }; 

はGradleのコードです:

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コードを更新し、グラデルコードを含めました – Pheonix

+0

そこに問題はありません。お使いの端末に互換性のあるバージョンのGoogle Playサービスがインストールされていますか?あなたのアプリが初期化されたときにlogcatに 'W/GooglePlayServicesUtil:Google Playサービスが期限切れです 'というメッセージが表示されますか? –

答えて

0

firebaseで認証を行う前にリスナーを登録してみてください。リスナーを後でつないでいる可能性があります。

抽象ボイド(FirebaseAuth払い)をonAuthStateChanged

このメソッドは、認証状態の変化にUIスレッドで呼び出されます:リスナーが登録されている

  • 右後

  • ユーザーがサインインしたとき

  • 現在のユーザー現在のユーザーが
+0

私はリスナーの登録が問題ではないと思います – Pheonix

+0

firebaseauth.signinが呼び出された時点でのアクティビティのフローを表示できますか? –

+0

このメソッドはOnCreateメソッドで呼び出され、コードは – Pheonix

-2

は私がフラグメントに

@Override 
public void onStart() { 
    super.onStart(); 
    mAuth.addAuthStateListener(mAuthListener); 
} 
関連する問題