HTC FriendStream Facebook应用程序干扰我的Android App Facebook登录,如何强制从facebook帐户登出清除cookie登录缓存

时间:2011-07-12 21:48:46

标签: android cookies login facebook facebook-graph-api

在登录了FriendStream应用程序的HTC手机上,由于FriendStream已登录,我的应用程序显然会跳过提供登录Facebook的消息,我认为这是因为似乎两个应用程序都调用Web浏览器进行登录,并且可能是缓存?

如何正确破坏FriendStream连接,以便我可以强制重新登录我的应用程序?或者是否有两种方法可以共存,如果它们都使用浏览器协商连接,则两者都会登录到不同的帐户。

如果有一种方法可以在不使用浏览器的情况下与facebook android sdk / api协商连接,从而绕过这些问题也很有用。谢谢!

为什么这段代码可以在模拟器和其他手机上运行,​​但在我的手机上使用登录到Facebook的FriendStream App它不起作用?

以下是我们用于登录Facebook的代码:

private void LoginToFacebook(){

facebook = new Facebook(APP_ID);

try {

facebook.logout(this);

}
catch (MalformedURLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}
catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

SharedPreferences sharedPreferences = getApplicationContext().getSharedPreferences(
KEY, Context.MODE_PRIVATE);

facebook.setAccessToken(sharedPreferences.getString(TOKEN, null));

facebook.setAccessExpires(sharedPreferences.getLong(EXPIRES, 0));

facebook.authorize(this, PERMISSIONS, new LoginDialogListener());

}
//LoginToFacebook

1 个答案:

答案 0 :(得分:1)

由于大多数Android设备可能是个人设备而Facebook认为自己是个人服务,因此Facebook的单点登录是一种很好的方式,因此用户无需登录他使用的每个Facebook连接的应用程序(因为通常他无论如何都会使用相同的帐户)

但是,Facebook's API-SDK for Android确实为您提供了一个体面的 logout()方法,如果你真的想强迫它提供你可以使用的 Facebook 类 - 签署用户。由于单点登录,用户应该登录所有他的SSO-Facebook-Applications,包括FriendStream。

恕我直言,可能有点粗鲁,但是:)