2012-06-07 22 views
2

我正在開發一個應用程序,該應用程序應該在桌面和移動平臺上運行。 對於大多數Facebook功能,我使用官方GraphAPI for Flash,版本1.8.1。如何清除工作Facebook退出的AIR緩存?

使用的應用程序,用戶必須登錄Facebook的,先調用FacebookMobile.init()這工作很容易,如果報告用戶沒有登錄,這樣登錄:

var webView :StageWebView = new StageWebView(); 
webView.stage = stage; 
webView.viewPort = new Rectangle(0, 0, stage.stageWidth, stage.stageHeight); 
FacebookMobile.login(handleLoginResult, stage, new Array(), webView); 

所有這些工作都很好,但註銷不能按預期工作。調用

FacebookMobile.logout(handleLogout); 

確實註銷從Facebook用戶,這似乎和handleLogout總是通過一個真正作爲第一個參數。在註銷之後,當調用FacebookMobile.init()時,它也會正確地報告用戶未登錄。所以我再次從上面調用login()方法。

然後,WebView打開,但立即關閉,自動登錄剛剛註銷的用戶,而不顯示任何類型的Facebook登錄屏幕。但是我想要能夠登錄另一個用戶,通過輸入電子郵件和密碼。

也許我應該提到註銷應用程序啓動時發生。用戶無法註銷自己,該應用程序在啓動時會這樣做,因此用戶應該是,每次都必須登錄。是的,這是有原因的;)

我確定這是某種緩存問題,但我該如何使用Flash/AIR解決它?

+0

因此,讓我看看我是否正確。當應用程序運行時,您將該人員註銷,然後立即將其註冊回來。但是你卻說你不想這麼做。如果是這樣,那就不要再登錄了。我看不到你問的問題。 –

+0

我將用戶登出以便能夠強制用戶重新登錄。如果有另一種方式可以做到這一點(不先登出),我很樂意這樣做。 而且正如我所說的那樣,記錄返回不應該發生,至少不會自動輸入他的信息。 – TheSHEEEP

+0

當您註銷時,將登錄var設置爲空 –

回答

1

有點晚了,但總比沒事好吧?我看到,當我使用OAuth API試驗本次發行前...

找到潛在的解決方案,同時找一個單獨的問題,但至於緩存/餅乾...

這篇文章解釋了你需要做的事情: http://cookbooks.adobe.com/post_Cannot_logout_from_Facebook_on_Android_devices-19254.html

基本上它不是一個非常漂亮的解決方案,但它所做的是手動刪除發生緩存的文件夾。

希望這會有所幫助。

+0

不錯,但這似乎僅限於Android。 iOS/Windows Mobile有類似的方法嗎? – TheSHEEEP

+0

此解決方案也應該在ios中工作,您只需要進行調試以找出文件夾的位置即可。 – Bynho

+3

@ user755451鏈接似乎被破壞! – MyFlashLab

0

清除Internet Explorer緩存&餅乾,..它會記錄你的StageWebView Facebook登錄

更新Out :更改描述符xml文件中的應用程序ID