私は、データベースとしてFirebaseを使用し、通知をプッシュするためにバッチを使用するAndroidでアプリを作成しています。通常、私のアプリケーションが起動すると、メインページのログインアクティビティに移動します。Firebaseログアウトバッチプッシュ
Firebase dbRef = new Firebase(Constants.URL_DB);
AuthData auth = dbRef.getAuth();
if (auth != null) // Proceed with a logged in user
else // Show authentication layout
私の問題は、私は、バッチからの通知を得るとき、私はアプリに行くために、通知をクリックしてくださいということですが、その後、私は私としてログインしていないです:ユーザーは、まだ使用してログインしている場合の活動を検証します... auth == null
である必要があります。バッチからのプッシュを得るたびにユーザーがログインする必要はありません。アプリが通知から開始したことを検出できますか?どのように私はFirebaseからの認証を失うのですか?ここで
はMainActivityののonCreateとonResumeです:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Initiating Batch
Batch.onStart(this);
// Initiating layout
setContentView(R.layout.login);
// Setting database
Firebase.setAndroidContext(this);
// Unrelated stuff done here (Setting Views, etc)
}
@Override
protected void onResume() {
super.onResume();
// Getting login information from previous authentication.
Firebase dbRef = new Firebase(Constants.URL_DB);
AuthData auth = dbRef.getAuth();
// I added the addAuthStateListener here
if (auth != null) {
goToHomePage();
}
}
ええと...珍しいですね。あなたはリスナーで認証を検出しようとすることができます:https://www.firebase.com/docs/android/guide/user-auth.html#section-monitoring-authentication同じことをする必要がありますが、状態が分かる前に何らかの形で 'getAuth()'を呼び出す。 –
このすべてのことが起こるタイミングを推測するのに十分なコードはありません。 [参照する方法](http://stackoverflow.com/help/how-to-ask)と[mcveを作成する](http://stackoverflow.com/help/mcve)を参照してください。 – Kato
authDataは 'public void私がログインしていないので、onAuthStateChanged(AuthData authData){...} ' – Sunshinator