我想在我的应用程序中执行facebook注销,这是我注销到现在为止所做的
logout.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Session session = Session.getActiveSession();
System.out.println("session"+session);
singleton.fb_userid="";
singleton.login_via_fb="";
Intent i=new Intent(delivery.this,MainActivity.class);
startActivity(i);
}
});
这里的问题是我将会话值变为null,所以我得到了facebook使用的id,并根据我正在执行注销的一些逻辑。
我的问题是,当我退出时,不再询问登录界面,而是直接说你是这个应用程序的授权用户。
我怎么能这样做,请提供一些建议。我正在使用一些2系列的facebook sdk。
答案 0 :(得分:1)
你可以这样做
FBLogout.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
clearApplicationData();
FBHandler.getInstance(this).facebookLogout();
Intent i=new Intent(delivery.this,MainActivity.class);
startActivity(i);
}
});
你可以把下面的方法放在FBHandler.java
中public void facebookLogout() {
AsyncFacebookRunner fbAsyncRun = new AsyncFacebookRunner(facebook);
fbAsyncRun.logout(context, new AsyncFacebookRunner.RequestListener() {
public void onMalformedURLException(MalformedURLException e,
Object state) {
printoCommon.showToastMsg((Activity) context, e.getMessage());
}
public void onIOException(IOException e, Object state) {
printoCommon.showToastMsg((Activity) context, e.getMessage());
}
public void onFileNotFoundException(FileNotFoundException e,
Object state) {
printoCommon.showToastMsg((Activity) context, e.getMessage());
}
public void onFacebookError(FacebookError e, Object state) {
printoCommon.showToastMsg((Activity) context, e.getMessage());
}
public void onComplete(String response, Object state) {
printoCommon.showToastMsg((Activity) context,
"You have logged out from facebook Successfully");
((Activity) context).finish();
}
});
}