-1

マイアプリケーションクラスIは、アプリケーションからログアウトして、これは私はアンドロイドのアプリケーションクラスにエラーがあります。私はauthをチェックしています!= nullでも、if文の中に入りますか?以下のような

public class WhatsApp extends Application { 

     private DatabaseReference userReference; 
     private FirebaseAuth auth; 

     @Override 
     public void onCreate() { 
      super.onCreate(); 

      FirebaseDatabase.getInstance().setPersistenceEnabled(true); 

      Picasso.Builder builder = new Picasso.Builder(this); 
      builder.downloader(new OkHttpDownloader(this, Integer.MAX_VALUE)); 
      Picasso built = builder.build(); 
      built.setIndicatorsEnabled(true); 
      built.setLoggingEnabled(true); 
      Picasso.setSingletonInstance(built); 

      if(FirebaseAuth.getInstance() != null) { 

       userReference = FirebaseDatabase.getInstance().getReference().child("Users").child(auth.getCurrentUser().getUid()); 

       userReference.addValueEventListener(new ValueEventListener() { 
        @Override 
        public void onDataChange(DataSnapshot dataSnapshot) { 
         if(dataSnapshot != null) { 
          userReference.child("online").onDisconnect().setValue(false); 
         } 
        } 
        @Override 
        public void onCancelled(DatabaseError databaseError) { 

        } 
       }); 

      } else { 

      } 
     } 
    } 

Imは

java.lang.RuntimeException以下のようなエラーを取得して起こるログインしよう:アプリケーション COMを作成することができません。 example.crowderia.whatsapp.Service.WhatsApp: java.lang.NullPointerException:仮想メソッド を呼び出そうとしました。 'com.google.firebase.auth.FirebaseUser com.google.firebase.auth.FirebaseAuth.getCurrentUser()'がnull android.app.ActivityThread $ H.handleMessageでオブジェクト android.app.ActivityThread.handleBindApplication(ActivityThread.java:4999)における基準 android.app.ActivityThread.access $ 1600(ActivityThread.java:188) で( (ActivityThread.java:1591) とandroid.os.Handler.dispatchMessage(Handler.java:111) (android.os.Looper.loop(Looper.java:210)) (android.app.ActivityThread.main(ActivityThread。 java:5839) at java.lang.reflect.Method.invoke(ネイティブメソッド) at java.lang.reflect.Method.invoke(Method.java:372)java.langで:によって引き起こさcom.android.internal.os.ZygoteInit.mainで com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:1113) (ZygoteInit.java:879) で.NullPointerException: com.example.crowderia.whatsappでヌル オブジェクト参照 上の仮想メソッドを呼び出す試み 'com.google.firebase.auth.FirebaseUser com.google.firebase.auth.FirebaseAuth.getCurrentUser()' .Service.WhatsApp.onCreate(WhatsApp.java:39) at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1017)

+0

のインスタンスを試してみてください。クラッシュを解決したら教えてください – Royz

答えて

0
FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser(); 
if (user != null) {  

} else { 
    goLogInScreen(); 
} 

私の答え怒鳴るを参照してください

FirebaseAuth.getInstance() != null