【问题标题】:Need help returning to BlackBerry application from BrowserSession需要帮助从 BrowserSession 返回 BlackBerry 应用程序
【发布时间】:2011-01-20 09:10:15
【问题描述】:

我的 BlackBerry 应用程序正在使用 BrowserSession 打开网页。当网页打开时,用户将输入他们的登录凭据,然后他们将被转发到一个新网站,该网站告诉他们关闭 BlackBerry 浏览器并返回到我的应用程序。 (...OAuth 认证)

现在,我正在尝试查看是否可以执行以下操作之一:

  • 为我的应用程序创建一个自定义 URI 方案,以便网站可以转发到诸如“myapp://...”之类的地址,并且我的应用程序将打开。我一直在网上和论坛上对此进行研究,我认为这是不可能的。我一直在搜索有关 JSR 211 和内容处理程序以及 MIME 类型的内容。我还查看了 JDE 示例中的 chapidemo 演示。

  • 关闭 BrowserSession。我知道我无法在我的应用程序中执行此操作。在我的应用程序发出成功的 http 请求后,我成功地将我的应用程序移到了前台,但是当网站转发到新页面时,浏览器又回到了前台(告诉用户关闭浏览器)

  • 以某种方式确定当前 BrowserSession 的 URL。如果我能做到这一点,那么当我识别出被转发到的页面的 URL 时,我就可以将我的应用程序置于前台。

不幸的是,我无法使用 BrowserField,因为我在浏览器中打开的站点需要支持 javascript 和 ajax...我在 BrowserField 中尝试过,但没有成功。

有人有什么意见或建议吗?

谢谢!


更新:

我的注册码:

BrowserContentProviderRegistry converterRegistry = BrowserContentProviderRegistry
                .getInstance();
        if (converterRegistry != null) {
            converterRegistry.register(new BrowserPlugin());
        }

【问题讨论】:

    标签: java browser blackberry


    【解决方案1】:

    您可以使用 BrowserContentProviderRegistry 类为您的应用注册自定义的 BrowserContentProvider 实现,并使用自定义 MIME 类型。 OAuth 完成后,将其重定向到您网站上的页面,该页面提供具有该 MIME 类型的文档。这将导致您的 BrowserContentProvider 被执行,然后它可以做任何您喜欢的事情,例如将您的应用程序带回前台。

    【讨论】:

    • Marc,我还需要将应用程序(在启动时)注册为 HttpFilter 吗?我正在查看以下链接:docs.blackberry.com/en/developers/deliverables/652/…
    • 不,只需要一个 BrowserContentProvider 即可。有关示例,请参阅 BrowserPlugin.java 示例应用程序。插件返回的实际“内容”可以是空的(即空的 Horizo​​ntalFieldManager),但重要的是您可以在其 getBrowserContent 方法中运行您想要的任何代码,包括将您的应用程序置于前台的代码。
    • 我已经全部设置好了:LoaderApp、BrowserContentProvider 以及我的 Web 服务器上具有正确 mime 类型的文件。在打开 BrowserSession 的新实例之前,我正在实例化 LoaderApp。我应该做些什么来将 BrowserSession 链接到 BrowserPlugin?
    • 一旦您在注册表中注册了 BrowserContentProvider,即使您的应用程序关闭,它也会保留在那里。您是否尝试过登录 BrowserContentProvider 以查看其方法是否被调用?
    • 多次为同一个应用程序重新注册相同的 mime 类型没有问题。和你一样,我把注册码放在应用启动中。如果应用程序权限未设置为“允许”,也可能引发 ControlledAccessException。
    猜你喜欢
    • 1970-01-01
    • 2013-12-24
    • 1970-01-01
    • 2015-07-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多