我正在使用钛平台,当我在iOS中实现SSO时,无论我做了一次还是多次,它都能很好地工作,它运行顺畅而且完美。但是当我来到Android时,它第一次工作但不是之后。 例如,我在Android上安装了测试应用程序并点击Facebook登录,它第一次工作,但当我退出并尝试再次登录facebook时,它只显示重定向到Facebook应用程序但是应用程序登录不会发生,我尝试了很多次并尝试了许多方法,但它不起作用。
我已经在app.js和somewindow.js中放置了facebook登录事件监听器,我有facebook登录按钮。登录Facebook后我正在做一些工作,意味着重定向到其他窗口。
提前感谢。
答案 0 :(得分: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);
});
答案 1 :(得分:0)
使用此标志Ti.Facebook.forceDialogAuth = false;