[英]How can I login with facebook and get user info to send my remote db from android application
[英]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.