似乎没有人对我有任何解决方案:(。但是,在搞砸之后,我找到了一个解释和解决方案,我想我应该和你分享这个。抱歉,回复晚了.
这是故事。
您可能已经知道,在提供凭据后,Facebook 在 URI 中返回访问令牌,后跟 # 符号。现在,BlackBerry Facebook API 覆盖了 handleNavigation() 方法,以确保如果 URL 包含访问令牌,则不会对其进行处理。这曾经在早期版本(BB 7 之前)中工作,但不知何故,BrowserField 中的 URL 重定向似乎不再调用 handleNavigation(),而是直接调用 handleResource()(我不知道为什么,据我所知,任何地方都没有关于此更改的文档)。结果?它总是尝试处理其中包含 #access_token 的 URL。
最糟糕的是,BB BrowserField 认为 # 表示跳转到页面的一部分(不存在)。其他浏览器(包括黑莓浏览器)似乎已经理解并在屏幕上仅打印“成功”,而 BrowserField 则没有。当这种情况发生时,应用程序停止工作并崩溃,让我回到主屏幕。
所以我所做的是我更改了 BlackBerry Facebook API 的源代码,以便 handleResource() 现在自行检查 access_token 是否在 URL 中。然后,应用程序工作正常。