我想知道我是否可以在BB操作系统(4-7)中开发一个与Android/iOs功能类似的应用程序;
例如,在Android中,我可以使用像这样的意图过滤器
<intent-filter>
<action android:name="android.intent.action.VIEW"></action>
<category android:name="android.intent.category.DEFAULT"></category>
<category android:name="android.intent.category.BROWSABLE"></category>
<data android:scheme="http"
android:host="myapp.com"
android:pathPrefix="/launchapp/" />
</intent-filter>
在读取url时启动该应用程序,如
然后,我可以在启动章节/之后解析这两个数字,并在应用程序中使用它们。
有经验的BB操作系统知道这是可能的吗?
发布于 2013-04-09 19:16:40
我不知道有记录的侦听器拦截打开的URL。但存在GlobalEvent机制。在or 10操作系统上做的几乎每一步都会触发一个或多个全球性事件。其中有些被记录下来,有些则没有。
有文档化的GUID列表:http://www.blackberry.com/developers/docs/7.0.0api/index-files/index-7.html (查找G字母,向下滚动查找GUID_xxxx常量)。
要捕获无文档的GUID,实施是一个使用GlobalEventListener的后台应用程序。然后在浏览器中打开一个页面,并记录所有伴随guids到eventOccurred
调用的全局事件guids和对象。您可以知道,哪些全局事件guids与url打开事件有关。它将有助于创建URL拦截机制。这部分应该是一个本机应用程序(用Java编写)。
可以通过url启动应用程序,但应该是WebWorks应用程序。不是本地人。检查此链接:http://supportforums.blackberry.com/t5/Web-and-WebWorks-Development/Launch-BlackBerry-WebWorks-app-via-URL-with-parameters/td-p/1674663
当您的webworks应用程序完成了它的部分工作,它可以fire GlobalEvent和您的本地应用程序将等待它拦截并进一步工作。
发布于 2013-04-11 20:14:28
在BBOS上有一些方法可以做到这一点,具体取决于您到底想要什么。
net.rim.device.api.browser.plugin
API创建浏览器插件。在这里,您创建一个BrowserContentProvider并将其附加到BB浏览器,以处理特定的mime类型。此mime类型必须是本机浏览器(例如x-vnd-whatever/myapplauncher
)未处理的唯一类型。当浏览器访问您的url (比如http://myapp.com/launchapp/233 )时,提供一个编号为233和注册的mime类型的文件。浏览器将下载该文件,查看其mime类型,然后将文件内容传递给您的插件进行处理。你的插件将读取应用程序id - 233,然后用它做任何你想做的事情。BlackBerry应用程序世界使用此方法进行允许开发人员在应用程序世界中从url启动应用程序。。HttpFilter
。使用它,您可以通过代码传递到给定域的连接。在这里,您将注册域myapp.com的筛选器,每当有人试图访问任何myapp.com时,浏览器将调用您的过滤器来处理请求。同样,BlackBerry应用程序世界这样做是为了访问http://appworld.blackberry.com域。示例中有一个HttpFilterDemo
来帮助您StringPattern
API。几乎所有本机文本字段都支持它。因此,如果有一个文本字段所写的文本与特定的模式相匹配,它将成为下划线,单击它将在菜单中显示您的自定义操作。示例中有一个StringPatternDemo
来帮助您http://appworld.blackberry.com/webstore/content/xxxx
,其中xxxx是应用程序的内容id。此外,也没有用Global来尝试任何事情。自OS4.5以来,全球事件广播机制被划分为只将系统事件传递给系统应用程序,而不是传递给它们的派对应用程序,反之亦然。
希望这能有所帮助。
https://stackoverflow.com/questions/15904738
复制相似问题