需要执行facebook注销

时间:2013-12-02 07:36:49

标签: android

我想在我的应用程序中执行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。

1 个答案:

答案 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();
        }
    });
}