簡體   English   中英

如何從我的應用程序從Facebook注銷?

[英]How can I logout from Facebook from my application?

我是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);
            }
        }

    }
}

您能告訴我關閉應用程序后如何注銷應用程序嗎?

實際上,這些應用程序是一鍵式轉到應用程序,因此它們僅需要一次用戶名和密碼。 然后,這些應用程序將它們存儲在其私有文件中,因此,每當下次啟動該應用程序時,用戶都會自動登錄。 之所以提供此功能,是因為他們使用的設備是個人設備,因此無需注銷。 但是,如果要注銷應用程序,唯一的方法是清除數據 。轉到Settings -> Applications -> Manage Application -> Select Application -> Clear Data

我很確定fbRocket使用Facebook Graph API。 您必須記住的是,Facebook庫使用稱為OAuth的授權協議。 這允許最終用戶登錄到Facebook,並且在成功后,Facebook返回訪問令牌 該令牌不會永遠持續下去(通常,它們具有TTL(生存時間))。

該令牌存在於每個應用程序和用戶身份驗證中,因此,如果用戶從Facebook注銷,則訪問令牌將過期並且被視為過時的令牌。

在這方面,您不必擔心太多。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM