3

我正在使用钛平台,当我在 iOS 中实现 SSO 时,无论我执行一次还是多次,它都运行良好,运行顺畅且完美。但是当我来到 Android 时,它是第一次工作,但之后就不行了。例如,我在 android 上安装了测试应用程序并单击 facebook 登录,它是第一次工作,但是当我注销并尝试再次使用 facebook 登录时,它只显示重定向到 facebook 应用程序但应用程序登录不会发生,我尝试了很多次,尝试了很多方法,但它不起作用。

我在 app.js 中放置了 facebook 登录事件侦听器,在 somewindow.js 中我有 facebook 登录按钮。登录 facebook 后我正在做一些工作,这意味着重定向到其他窗口。

提前致谢。

4

2 回答 2

1

实际上由于缓存问题仍然存在。我们需要在您注销时清除缓存使用下面的代码它工作正常

 Titanium.Facebook.appid = "XXXXXXXXXXXXXXXXXX";
 Titanium.Facebook.permissions = ['publish_stream', 'read_stream'];


   var fbButton =  Ti.UI.createButton({
    top: 68,
    width:290,
    height:52,
    backgroundImage:"images/login/facebook.png"
});


 fbButton.addEventListener('click', function() {
if(Titanium.Facebook.loggedIn){
    Titanium.Facebook.logout()
    return
}
 Titanium.Facebook.authorize();

  });




Ti.Facebook.addEventListener('login', function(e) {
if (e.success) {
    win.close()
} else if (e.error) {
    alert(e.error);
} else if (e.cancelled) {
    alert("Canceled");
}
 });

  Titanium.Facebook.addEventListener('logout', function(e) {
    var url = 'https://login.facebook.com';
    var client = Titanium.Network.createHTTPClient();
    client.clearCookies(url);
});
于 2013-02-11T14:36:20.107 回答
0

使用这个标志 Ti.Facebook.forceDialogAuth=false;

于 2013-02-15T07:21:10.570 回答