如何从我的应用程序中退出Facebook?

时间:2011-06-23 13:29:10

标签: java android facebook

我是Android新手。我正在使用fbrocket示例作为我的应用程序的状态发布,但我无法从我的应用程序注销。状态消息将从此应用程序成功发布,但当我关闭我的应用程序时,我还想从Facebook注销。

我该怎么做?

请帮帮我。

我的代码在这里:

package com.drc.Incognito;

import net.xeomax.FBRocket.FBRocket;
import net.xeomax.FBRocket.LoginListener;
import net.xeomax.FBRocket.ServerErrorException;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;

public class Facebook extends Activity implements LoginListener {
    private FBRocket fbRocket;

    Bundle bundle;
    int i;
    String rname,rshopno,raddress,rcity,rphone,remail,rpostcode;

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        Bundle bundle = getIntent().getExtras();
        rname=bundle.getString("keyshop_name");
        rshopno=bundle.getString("keyshop_no");
        raddress=bundle.getString("keystreet");
        rpostcode=bundle.getString("keypostcode");
        rcity=bundle.getString("keycity");
        rphone=bundle.getString("keyphone");
        remail=bundle.getString("keyemail");
        shareFacebook();

    }
    public void shareFacebook() {
        fbRocket = new FBRocket(this, "PitchFork TRY",
                "c3968bbdd9dc7f44a8e05b7346f46673");

        if (fbRocket.existsSavedFacebook()) {
            fbRocket.loadFacebook();
        } else {
            fbRocket.login(R.layout.main);
        }


    }
    @Override
    public void onLoginFail() {
        fbRocket.displayToast("Login failed!");
        fbRocket.login(R.layout.main);
    }
    @Override
    public void onLoginSuccess(net.xeomax.FBRocket.Facebook facebook) {
        // TODO Auto-generated method stub

        try {
            System.out.println("Incognito Shop:  " +"\n" +rname +"\n" +raddress+ "  " + rshopno +"\n" +rpostcode + " " +rcity + "\n" +rphone +"\n" + remail);
            fbRocket.displayToast("Login success!");
            facebook.setStatus("Incognito Shop:  " +"\n" +rname +"\n" +raddress+ "  " + rshopno +"\n" +rpostcode + " " +rcity + "\n" +rphone +"\n" + remail);

            fbRocket.displayDialog("Status Posted Successfully!! ");
        //  Intent in = new Intent(this,ShopDetail.class);
        //  startActivity(in);  
            facebook.logout();
            finish();

        } catch (ServerErrorException e) {
            if (e.notLoggedIn()) {
                fbRocket.login(R.layout.main);
            } else {
                System.out.println(e);
            }
        }

    }
}

您能否告诉我在关闭申请时如何退出申请?

2 个答案:

答案 0 :(得分:3)

实际上这些应用程序是一键转应用程序,因此它们只需要一次用户名和密码。然后,这些应用程序将它们存储在其私有文件中,因此每当下次启动应用程序时,用户都会自动登录。由于他们使用的设备是个人设备,所以提供此功能,因此无需注销。但是,如果您想要注销该应用程序,唯一的方法是清除数据 ..转到Settings -> Applications -> Manage Application -> Select Application -> Clear Data

答案 1 :(得分:1)

我很确定fbRocket使用Facebook Graph API。您必须记住的是,Facebook库使用名为OAuth的授权协议。这允许最终用户登录Facebook,并且在成功时,Facebook返回访问令牌。此令牌不会永远持续(通常,它们具有TTL(生存时间))。

此令牌存在于每个应用程序和用户身份验证中,因此如果用户从Facebook注销,则访问令牌将过期并将被视为已过时。

在这方面,你不必太担心。