从Blackberry 10上的浏览器打开本机地图应用程序

时间:2013-08-22 11:04:00

标签: web-applications browser maps blackberry-10

我需要找到一种方法从Blackberry 10上的浏览器打开本机地图应用程序。 我的Web应用程序在纯普通浏览器中工作,不使用WebWorks

我认为它必须是一个URI方案,应该提供一种简单的方法来执行此操作。 我已经为iOS,Android和WP8做过这个。但是Blackberry 10设备给了我一个真正的痛苦。

同样,我的网络应用程序在BB10设备上的浏览器中运行。

4 个答案:

答案 0 :(得分:1)

我现在有一个类似的问题,我可以打开本机应用程序,但它将始终显示在当前位置,并且不会有不同位置的指针(我无法将任何参数传递到地图),但要打开地图,只需使用

  

var url =“maps:any address”; //地址不会有所作为   因为我无法在.window.open(url);

中传递参数

(在黑莓Z10上测试)

答案 1 :(得分:1)

最近有关于BlackBerry的文档如何做到这一点。

使用所需的urischeme扩展'bar-descriptor.xml'文件:

<invoke-target id="com.mycompany.myapplication">
<type>APPLICATION</type>

<filter>
  <action>bb.action.VIEW</action>
  <mime-type>*</mime-type>
  <property var="uris" value="activetext:"/>
</filter>

<invoke-target-pattern>      
  <pattern-value type="uri">activetext:</pattern-value>    
</invoke-target-pattern>

之后在应用程序代码中(来自BlackBerry文档):

// File: service.cpp
#include "service.hpp"

#include <bb/Application>
#include <bb/platform/Notification>
#include <bb/platform/NotificationDefaultApplicationSettings>
#include <bb/system/InvokeManager>

using namespace bb::platform;
using namespace bb::system;

Service::Service() :
         QObject(),
         m_notify(new Notification(this)),
         m_invokeManager(new InvokeManager(this))
{
    // Whenever the app is invoked, call handleInvoke()
    m_invokeManager->connect(m_invokeManager,
        SIGNAL(invoked(const bb::system::InvokeRequest&)),
        this,
        SLOT(handleInvoke(const bb::system::InvokeRequest&)));

    // Configure app to allow notifications
    NotificationDefaultApplicationSettings settings;
    settings.setPreview(NotificationPriorityPolicy::Allow);
    settings.apply();

    // Set a common notification title
    m_notify->setTitle("Headless service");
}

void Service::handleInvoke(
                    const bb::system::InvokeRequest & request)
{
  // Check if timer trigger invoked the app
  if (request.action().compare("bb.action.VIEW") 
                               == 0) {
      m_notify->setBody("Timer alert!");
      Notification::clearEffectsForAll();
      Notification::deleteAllFromInbox();
      m_notify->notify();
      // Do necessary handling here.
      qDebug() << request.uri();

  }
}

BlackBerry Documentation

答案 2 :(得分:0)

看起来没有网络不起作用。 刚试过geo:URI但是它们不适用于app。 在BB浏览器中,它们工作正常,但不适用于应用程序。

答案 3 :(得分:-1)

尝试这些URI:

地理位置:-34.6033,-58.3817(适用于阿根廷布宜诺斯艾利斯)

地理位置:52.5167,13.3833(德国柏林)

在浏览器中为我工作。

相关问题