2016-12-05 3 views
0

Я хочу очистить текстовое окно userinfo, когда я выхожу из Facebook. Но я не знаю, какую часть я выхожу на самом деле. И не знаю, где я должен чистить информацию (имя, фамилия). Любая идея? Заранее спасибо.Очистить информацию Facebook Выход

MainActivity.java

public class LoginActivity extends AppCompatActivity { 

private TextView userinfo; 
private CallbackManager callbackManager; 
private LoginButton loginButton; 


@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN); 
    FacebookSdk.sdkInitialize(getApplicationContext()); 
    LoginManager.getInstance().logOut(); 
    setContentView(R.layout.activity_login); 
    callbackManager = CallbackManager.Factory.create(); 
    loginButton = (LoginButton)findViewById(R.id.login_button); 
    userinfo= (TextView) findViewById(R.id.textView); 
    loginButton.registerCallback(callbackManager, new FacebookCallback<LoginResult>() { 
     @Override 
     public void onSuccess(LoginResult loginResult) 
     { 

      Toast.makeText(LoginActivity.this,"Oturum başarı ile açıldı!",Toast.LENGTH_LONG).show(); 
      setFacebookData(loginResult); 


     } 

     @Override 
     public void onCancel() { 
      Toast.makeText(LoginActivity.this,"Giriş işlemi iptal edildi.",Toast.LENGTH_LONG).show(); 
     } 

     @Override 
     public void onError(FacebookException error) { 

      Toast.makeText(LoginActivity.this,"Giriş başarısız.",Toast.LENGTH_LONG).show(); 
     } 

    }); 






} 

@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    callbackManager.onActivityResult(requestCode, resultCode, data); 
} 

private void setFacebookData(final LoginResult loginResult) 
{ 
    GraphRequest request = GraphRequest.newMeRequest(loginResult.getAccessToken(), new GraphRequest.GraphJSONObjectCallback() { 
     @Override 
     public void onCompleted(JSONObject object, GraphResponse response) 
     { 
      try { 


       String firstName = response.getJSONObject().getString("first_name"); 
       String lastName = response.getJSONObject().getString("last_name"); 
       Log.i("Login"+ "FirstName", firstName); 
       Log.i("Login" + "LastName", lastName); 
       userinfo.setText("Hoşgeldiniz, "+firstName + " " +lastName+"!"); 



      } 
      catch (JSONException e) { 
       e.printStackTrace(); 
      } 
     } 
    }); 
    Bundle parameters = new Bundle(); 
    parameters.putString("fields", "first_name,last_name"); 
    request.setParameters(parameters); 
    request.executeAsync(); 

} 

ответ

0

Если вы используете кнопку FB sdk, после чего он будет выходить из системы по клику. еще по щелчку вами кнопки просто позвоните

LoginManager.getInstance().logOut(); 

будет по умолчанию использовать эти команды

AccessToken.setCurrentAccessToken(null); 
Profile.setCurrentProfile(null); 

& вы можете очистить вас TextViews, установив «» (например, textview.setText («»);)

+0

Могу ли я установить текст в конце функции registercallback? –

0

Как вы не хранить либо Firstname или в Lastname sharedPref или базе данных нет необходимости очистить все данные просто установить TextView:

userinfo.setText(""); 
+0

Должен ли я сделать это в onCreate()? –

+0

нет, когда вы нажимаете кнопку выхода! –