2016-06-26 13 views
11

के साथ फ़ायरबेस एथ का उपयोग करते समय लॉगआउट पर मैं Google साइन इन के साथ फ़ायरबेस एथ का उपयोग कर रहा हूं लेकिन मैं किसी अन्य गतिविधि से साइनआउट करना चाहता हूं लेकिन जब मैं इस विधि का उपयोग करके लॉगआउट करता हूं जो पूरी तरह से काम करता है एक ही गतिविधि लेकिन एक और गतिविधि के साथ नहीं। विधि यहाँ है।"GoogleApiClient अभी तक कनेक्ट नहीं है" Google साइन इन

public void logOut() { 
     mAuth.signOut(); 
     // Google sign out 
     Auth.GoogleSignInApi.signOut(googleApiClient).setResultCallback(
       new ResultCallback<Status>() { 
        @Override 
        public void onResult(@NonNull Status status) { 
         authorizeUser(null); 
        } 
       }); 
    } 

लेकिन त्रुटि im हो रही है जब इस विधि स्थिर बनाने और googleApiClient स्थिर यह अभी भी काम नहीं करता है और जब मैं केवल प्रदर्शन

FirebaseAuth.getInstance().signOut(); 

इस (logcat)

E/AndroidRuntime: FATAL EXCEPTION: main 
     Process: com.igov, PID: 21316 
java.lang.IllegalStateException: GoogleApiClient is not connected yet. 
     at com.google.android.gms.internal.zzoe.zzd(Unknown Source) 
     at com.google.android.gms.internal.zzoh.zzd(Unknown Source) 
     at com.google.android.gms.internal.zzof.zzd(Unknown Source) 
     at com.google.android.gms.auth.api.signin.internal.zzc.signOut(Unknown Source) 
     at com.igov.design.LoginActivity.logOut(LoginActivity.java:159) 
     at com.igov.design.LoginActivity$2.onClick(LoginActivity.java:62) 
     at android.view.View.performClick(View.java:5198) 
     at com.igov.design.MainActivity.onNavigationItemSelected(MainActivity.java:101) 
     at android.support.design.widget.NavigationView$1.onMenuItemSelected(NavigationView.java:152) 
     at android.support.v7.view.menu.MenuBuilder.dispatchMenuItemSelected(MenuBuilder.java:810) 
     at android.support.v7.view.menu.MenuItemImpl.invoke(MenuItemImpl.java:152) 
     at android.support.v7.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:957) 
     at android.support.design.internal.NavigationMenuPresenter$1.onClick(NavigationMenuPresenter.java:318) 
     at android.view.View.performClick(View.java:5198) 
     at android.view.View$PerformClick.run(View.java:21147) 
     at android.os.Handler.handleCallback(Handler.java:739) 
     at android.os.Handler.dispatchMessage(Handler.java:95) 
     at android.os.Looper.loop(Looper.java:148) 
     at android.app.ActivityThread.main(ActivityThread.java:5417) 
     at java.lang.reflect.Method.invoke(Native Method) 
     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) 
     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 
+0

अपवाद काफी स्पष्ट है : आप GoogleApiClient का उपयोग करने की कोशिश कर रहे हैं जब इसे अभी तक प्रारंभ नहीं किया गया है। क्या आपने http://stackoverflow.com/search?q=GoogleApiClient+is+not+connected+yet में किसी भी उत्तर का प्रयास नहीं किया? –

उत्तर

19
है

Google एपीआई क्लाइंट

पर कनेक्शन कॉलबैक पंजीकृत करें

क्लासेस उपयोग किया:

  • LoginActivity वर्ग (लॉगइन करने के लिए गतिविधि)
  • LogoutActivity वर्ग (लॉगआउट करने के लिए गतिविधि)

कोड:

public void logout() { 
     mGoogleApiClient.connect(); 
     mGoogleApiClient.registerConnectionCallbacks(new GoogleApiClient.ConnectionCallbacks() { 
     @Override 
     public void onConnected(@Nullable Bundle bundle) { 

      FirebaseAuth.getInstance().signOut(); 
      if(mGoogleApiClient.isConnected()) { 
       Auth.GoogleSignInApi.signOut(mGoogleApiClient).setResultCallback(new ResultCallback<Status>() { 
        @Override 
        public void onResult(@NonNull Status status) { 
         if (status.isSuccess()) { 
          Log.d(TAG, "User Logged out"); 
          Intent intent = new Intent(LogoutActivity.this, LoginActivity.class); 
          startActivity(intent); 
          finish(); 
         } 
        } 
       }); 
      } 
     } 

     @Override 
     public void onConnectionSuspended(int i) { 
      Log.d(TAG, "Google API Client Connection Suspended"); 
     } 
    }); 
} 
+0

यदि आपको अभी भी समस्या का सामना करना पड़ रहा है, तो टिप्पणी करने के लिए स्वतंत्र महसूस करें। – devprashant

+0

अरे मैंने आपके कोड की कोशिश की .. मुझे इस पंक्ति में शून्य सूचक अपवाद मिला: mGoogleApiClient.connect(); –

+0

@sagar इसे – devprashant

संबंधित मुद्दे