【问题标题】:how to open default blackberry browser when click on loaded page through browserfield通过浏览器字段单击加载的页面时如何打开默认的黑莓浏览器
【发布时间】:2011-08-19 13:41:28
【问题描述】:

点击浏览器字段时如何打开默认的黑莓浏览器。 当我点击打开的浏览器页面时,我正在尝试在浏览器字段上加载一个 html 页面,那时我想打开黑莓默认浏览器。

BrowserField browser = new BrowserField();

    MyBrowserFieldListener listener = new MyBrowserFieldListener();
    browser.addListener(listener);

    MainScreen screen = new MainScreen();
    screen.add(browser);
    pushScreen(screen);

    browser.requestContent(url);

我使用这个代码它可以工作,但它也加载到浏览器字段中我不想在浏览器上加载

【问题讨论】:

  • 您的问题有点令人困惑。是否要使用 BrowserField?您是要在实际浏览器中打开 URL,还是要先使用 BrowserField 加载页面,然后在 BB 浏览器而不是 BrowserField 中打开该页面中单击的链接?
  • 我有一个带有 URL 的 html。首先,当我单击加载的 html 时,我在 BrowserField 中加载 html,而不是获得 URL。我想在黑莓本机浏览器中打开此 URL,但我不想对我的 html 进行任何更改,这意味着获取的 URL 不应加载到 browserField 中或保持原样..
  • 如果您对此问题有任何想法,请帮助我.....在此先感谢......

标签: blackberry browserfield


【解决方案1】:

当他们知道你想要完成的事情的一些信息时,回答问题总是更容易。像 jprofitt 我对你想要发生的事情感到困惑。但是,这有点麻烦,但您可以:

  1. 在 MyBrowserFieldListener 中检测到调用 documentLoaded 时点击了链接;
  2. 使用 getDocumentUrl() 从 BrowserField 获取 URL;
  3. 使用该 URL 启动默认浏览器;
  4. 如果您希望 BrowserField 保留在原始页面上,请调用 requestContent() 或 back()。

【讨论】:

  • ---你能描述一下你的第四点吗bcoz我想做一点点一样我想打开新的getDocumentUrl();在我的设备默认本机浏览器中,而不是希望限制在 browserfield 上加载相同的 url --- 4. 如果您希望 BrowserField 保留在原始页面上,请调用 requestContent() 或 back()。
  • 当用户点击 BrowserField 中的 URL 时,该字段将加载该 URL。有两种方法可以将其返回到原始页面:再次调用 requestContent() 并使用您要在此处显示的 URL(这可能是最好的选择,因为它可以避免重定向)或调用 back() 这将使该字段转到历史堆栈中的前一个 URL。更复杂的方法是使用 BrowserFieldConfig 设置 BrowserFieldController 并覆盖 handleNavigationRequest() 但我没有任何经验。
  • 感谢您的回复.. 当用户单击链接时,我只想要 url,但在这里我想限制浏览器字段加载链接,并且我想在默认的本机浏览器中打开该链接。我使用 browserfield.back() 方法,但它有时会出现问题或无法正常工作。您知道如何暂停、停止或限制浏览器字段。
  • BrowserFieldController 似乎提供了这一点,但设置它的唯一方法是使用 BrowserField(BrowserFieldConfig config) 构造函数。我自己没有使用过这个,所以我无法提供更多帮助。
  • 我在加载浏览器字段时使用返回方法,但有时会出现问题。你有什么别的想法吗.....?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-01-23
  • 2011-11-19
  • 1970-01-01
  • 2021-09-16
  • 1970-01-01
  • 2011-07-01
相关资源
最近更新 更多