我需要找到一种方法,在黑莓10 我的web应用程序是纯普通浏览器,工作从打开浏览器原生地图应用程序,而无需使用的WebWorks。原生地图应用在BlackBerry 10
我想它必须是一个URI方案,应该提供一个简单的方法来执行此操作。 我已经为iOS,Android和WP8做了这个。但黑莓10设备给我一个真正的痛苦。
同样,我的网络应用程序在BB10设备上的浏览器中工作。
我需要找到一种方法,在黑莓10 我的web应用程序是纯普通浏览器,工作从打开浏览器原生地图应用程序,而无需使用的WebWorks。原生地图应用在BlackBerry 10
我想它必须是一个URI方案,应该提供一个简单的方法来执行此操作。 我已经为iOS,Android和WP8做了这个。但黑莓10设备给我一个真正的痛苦。
同样,我的网络应用程序在BB10设备上的浏览器中工作。
我现在有一个类似的问题,我可以打开本机应用程序,但它总是会显示在当前位置,并且不会有不同位置的指针(我无法将任何参数传递到地图),但要打开地图,只需使用
var url =“maps:any address”; //地址不会有所作为 ,因为我无法传递参数。window.open(url);
(黑莓Z10测试)
尝试这些URI:
地理:-34.6033,-58.3817(布宜诺斯艾利斯,阿根廷)
地理:52.5167,13.3833 (德国柏林)
在浏览器中为我工作。
看起来像没有webworks那样工作。 刚刚尝试了geo:URI,但它们不适用于应用程序。 在BB浏览器中,它们工作正常,但不在应用程序中。
由于最近有关于BlackBerry的文档如何做到这一点。
'延伸杆descriptor.xml' 文件具有所需urischeme:
<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>
之后,在应用程序代码(从黑莓文档):
// 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();
}
}
谢谢@invisible520,我已经在Z10设备上试过这个uri方案,是的,地图ap p打开,但是,我也没有设法在那里传递经纬度参数... – kio21