BlackBerry 7中BrowserField崩溃

BlackBerry 7中BrowserField崩溃,blackberry,browserfield,Blackberry,Browserfield,我正在尝试在BlackBerry 9930模拟器上创建一个应用程序,使用BlackBerry Facebook API对用户进行Facebook身份验证。它可以很好地连接到登录页面,但在这之后,无论是在请求查看权限时还是在登录成功时,整个应用程序都会崩溃 我注意到认证过程进行得很顺利,因为我从Facebook收到一条消息,说有人登录,所以我怀疑browserField和/或模拟器有问题。(我试过3种不同的BB7模拟器,但都是一样的) 有人有办法解决这个问题吗?非常感谢。似乎没有人能为我找到任何解

我正在尝试在BlackBerry 9930模拟器上创建一个应用程序,使用BlackBerry Facebook API对用户进行Facebook身份验证。它可以很好地连接到登录页面,但在这之后,无论是在请求查看权限时还是在登录成功时,整个应用程序都会崩溃

我注意到认证过程进行得很顺利,因为我从Facebook收到一条消息,说有人登录,所以我怀疑browserField和/或模拟器有问题。(我试过3种不同的BB7模拟器,但都是一样的)


有人有办法解决这个问题吗?非常感谢。

似乎没有人能为我找到任何解决方案:(。但是,在搞乱它之后,我找到了一个解释和解决方案,我想我应该与您分享。不过,很抱歉,回复太晚了

故事是这样的

您可能已经知道,在提供凭据后,Facebook会在URI中返回访问令牌,该URI后面跟着#符号。现在,BlackBerry Facebook API会覆盖handleNavigation()方法,以确保如果URL包含访问令牌,则不会对其进行处理。这在早期版本中适用(在BB 7之前)但不知何故,BrowserField中的URL重定向似乎不再调用handleNavigation(),而是直接调用handleResource()(我不知道为什么,据我所知,任何地方都没有关于此更改的文档)。结果是?它总是尝试处理包含#access#标记的URL

最糟糕的是,BB BrowserField认为#意味着跳转到页面的某一部分(不存在)。其他浏览器(包括黑莓浏览器)似乎已经理解了这一点,只打印“成功”当这种情况发生时,应用程序停止工作并崩溃,将我送回主屏幕


因此,我所做的是更改了BlackBerry Facebook API的源代码,以便HandlerResource()现在可以自行检查访问令牌是否在URL中。然后,应用程序工作正常。

似乎没有人能为我提供任何解决方案:(.但是,在搞乱了它之后,我找到了一个解释和解决方案,我想我应该与你分享。不过,很抱歉,回复太晚了

故事是这样的

您可能已经知道,在提供凭据后,Facebook会在URI中返回访问令牌,该URI后面跟着#符号。现在,BlackBerry Facebook API会覆盖handleNavigation()方法,以确保如果URL包含访问令牌,则不会对其进行处理。这在早期版本中适用(在BB 7之前)但不知何故,BrowserField中的URL重定向似乎不再调用handleNavigation(),而是直接调用handleResource()(我不知道为什么,据我所知,任何地方都没有关于此更改的文档)。结果是?它总是尝试处理包含#access#标记的URL

最糟糕的是,BB BrowserField认为#意味着跳转到页面的某一部分(不存在)。其他浏览器(包括黑莓浏览器)似乎已经理解了这一点,只打印“成功”当这种情况发生时,应用程序停止工作并崩溃,将我送回主屏幕

因此,我所做的是更改了BlackBerry Facebook API的源代码,以便HandlerResource()现在可以自行检查URL中是否有access_标记。然后,应用程序工作正常