2016-10-26 1 views
0

Ich möchte die Abmeldung von Facebook erzwingen, wenn ich die Anwendung verlasse, so dass ich mich jedes Mal anmelden muss, wenn ich die Anwendung starte. Wenn das nicht möglich ist, muss ich mit der Überprüfung helfen, wenn ein Benutzer bereits angemeldet istAndroid facebook force logout

private FacebookCallback<LoginResult> mCallback = new FacebookCallback<LoginResult>() { 
     @Override 
     public void onSuccess(final LoginResult loginResult) { 
      GraphRequest request = GraphRequest.newMeRequest(
        loginResult.getAccessToken(), 
        new GraphRequest.GraphJSONObjectCallback() { 
         @Override 
         public void onCompleted(
           JSONObject object, 
           GraphResponse response) { 

          try { 
           if (object != null) { 
            name = object.getString("first_name") + " "+object.getString("last_name"); 
            email = object.getString("email"); 
            mTextDetails.setText("Welcome " + name); 
            editor.putString("username", name); 
            editor.putString("email", email); 
            editor.apply(); 
           } 
          } catch (JSONException e) { 

          } 
         } 
        }); 
      Bundle parameters = new Bundle(); 
      parameters.putString("fields", "id,name,email, first_name, last_name, gender"); 
      request.setParameters(parameters); 
      request.executeAsync(); 
     } 
//  } 

     @Override 
     public void onCancel() { 
     } 

     @Override 
     public void onError(FacebookException error) { 

     } 
    }; 

    public MainFragment() { 
     // Required empty public constructor 
    } 

    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     FacebookSdk.sdkInitialize(getActivity().getApplicationContext()); 
     mCallbackManager = CallbackManager.Factory.create(); 
    } 

    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
          Bundle savedInstanceState) { 
     View view = inflater.inflate(R.layout.fragment_main, container, false); 
     mTextDetails = (TextView) view.findViewById(R.id.text_details); 
     LoginButton loginButton = (LoginButton) view.findViewById(R.id.login_button); 
     loginButton.setReadPermissions("public_profile", "email");//Only ask if you must 

     loginButton.setFragment(this); 
     loginButton.registerCallback(mCallbackManager, mCallback); 

     sharedPref = this.getActivity().getSharedPreferences("userinfo", Context.MODE_PRIVATE); 
     editor = sharedPref.edit(); 
     name = sharedPref.getString("username", ""); 
     email = sharedPref.getString("email",""); 

     if (name != "") { 
      mTextDetails.setText(name); 
     } 
//  Toast.makeText(getActivity(), sharedPref.getString("username", ""), Toast.LENGTH_LONG).show(); 
     Toast.makeText(getActivity(), sharedPref.getString("email", ""), Toast.LENGTH_LONG).show(); 

     return view; 
    } 

    public void onActivityResult(int requestCode, int resultCode, Intent data) { 
     super.onActivityResult(requestCode, resultCode, data); 
     mCallbackManager.onActivityResult(requestCode, resultCode, data); 


    } 
} 

Antwort

0

Sie dieses LoginManager.getInstance() verwenden können, logout()..;

+0

Danke das hat es gelöst! Würde upvote wenn ich könnte! – Amar