【问题标题】:Launching a BB10 application by clicking a link in the browser or email通过单击浏览器或电子邮件中的链接启动 BB10 应用程序
【发布时间】:2013-01-17 21:00:28
【问题描述】:

是否可以注册在浏览器、电子邮件或 bbm 中请求特定 URL 时启动的应用程序?

例如,当用户单击链接 flycraft://replay/123 时,我希望启动我的应用并传递 URI。

【问题讨论】:

    标签: native blackberry-10 playbook


    【解决方案1】:

    目前这是不可能的。

    这有两个部分:

    1. 向浏览器注册 URI 方案。例如flycraft:// 以便浏览器知道将这些链接视为可调用的。
    2. 注册您的应用以处理flycraft:// 调用,以便加载您的应用。

    很遗憾,目前第一部分是不可能的。有计划,但现阶段没有具体的计划。

    【讨论】:

      【解决方案2】:

      在 BlackBerry 10 上执行此操作的方法是在条形描述符文件中添加以下代码:

      <invoke-target id="eu.nlogn.flycraftplaybook.replayview">
      <invoke-target-type>application</invoke-target-type>
          <filter>
              <action>bb.action.VIEW</action>
              <mime-type>*</mime-type>
              <property value="flycraft://" var="uris" />
          </filter>
      </invoke-target>
      

      那么你应该监听 NAVIGATOR_INVOKE_TARGET 事件并像这样处理它:

      const navigator_invoke_invocation_t *invoke = navigator_invoke_event_get_invocation(event);
      
      if (invoke) {
          // retrieve invocation action
          const char *action = navigator_invoke_invocation_get_action(invoke); 
      const char *uri = navigator_invoke_invocation_get_uri(invoke);  
      
      if (action && uri) {
              // handle the uri you got
          }
      } else {
          fprintf(stderr, "Error retrieving invocation: %s\n", navigator_event_get_err(event));                               
      }
      

      很遗憾,Playbook 上没有办法做到这一点。

      【讨论】:

        【解决方案3】:

        是的!您可以使用 BB10 invocation framework 执行此操作。 appurl.org 提供了相当多的详细信息。简而言之:

        1. 如果您还没有调用目标,请在 bar-descriptor.xml 文件中添加调用目标。
        2. 为您的目标添加一个目标过滤器,其中包含操作“bb.action.VIEW”和“bb.action.OPEN”以及标签&lt;property var="uris" value="flycraft:"&gt; &lt;/property&gt;
        3. invokeManager 对象添加到您应用的main,并将其invoked 信号连接到可以处理该请求的代码的某个槽。

        【讨论】:

          猜你喜欢
          • 2016-09-17
          • 2013-02-04
          • 2014-09-13
          • 2023-03-14
          • 1970-01-01
          • 2011-01-14
          • 1970-01-01
          • 1970-01-01
          • 2021-11-25
          相关资源
          最近更新 更多