从自定义 cordova 应用程序启动本机应用程序
Posted
技术标签:
【中文标题】从自定义 cordova 应用程序启动本机应用程序【英文标题】:Launch native apps from custom cordova app 【发布时间】:2016-07-21 14:24:57 【问题描述】:我正在使用 Cordova(在英特尔 XDK 中)开发一个移动应用程序,它是启动其他应用程序的按钮列表。
到目前为止,我已经成功地在浏览器中启动了手机应用程序 (href="tel://"
)、短信 (href="sms://
) 和谷歌网站 (href="http://google.com"
)。
我找到了一个用于启动应用程序的插件:https://github.com/lampaa/com.lampa.startapp,但根据那里提供的指南,我可以使用这样的代码启动应用程序(示例):
navigator.startApp.start([["app.com.name", "app.com.name.Activity"], ["product_id":"100"]], ...);
但是我怎样才能找到那些完整的应用名称(这些 app.com.name
字符串)?
我需要这些应用程序的名称(或如何打开它们):
视频(android 的默认应用), 图片/相机胶卷(Android 的默认应用), 相机, WiFi 设置, 蓝牙设置, 空白或主页打开的浏览器窗口。提醒一下:我不想在这些应用和我的应用之间同步任何数据 - 我只想通过我的应用启动它。
如果您有其他解决方案 - 我愿意接受任何建议。
【问题讨论】:
如果您想使用手机上可用的应用程序处理文档,则可以使用插件:github.com/ti8m/DocumentHandler 我正在使用它来处理文档和图片。 【参考方案1】:视频(Android 的默认应用),
需要安装InAppBrowser 插件。在您的代码中只需调用cordova.InAppBrowser.open('videos://', '_system', 'location=yes');
图片/相机胶卷(Android 的默认应用)和相机
需要Camera 插件。
navigator.camera.getPicture(cameraSuccess, cameraError, cameraOptions);
设置
看看这个Native Settings插件
打开空白或主页的浏览器窗口。
需要安装InAppBrowser 插件。在您的代码中只需调用 cordova.InAppBrowser.open('http://google.org', '_system', 'location=yes');
这将打开安装的默认浏览器。
许多应用程序都定义了众所周知的 URL 方案,您可以使用这些方案直接打开应用程序。这是list。无论您使用哪个应用 URL,请确保将其添加到您的白名单 config.xml
。
<allow-intent href="twitter:*" />
<allow-intent href="mailto:*" />
较新的方法是使用与 URL 相对的通用链接。
【讨论】:
感谢有用的回答,只有videos://
不起作用-点击后没有任何反应(我已经安装了InAppBrowser
btw)以上是关于从自定义 cordova 应用程序启动本机应用程序的主要内容,如果未能解决你的问题,请参考以下文章
为啥我的应用程序在从自定义视图启动 Activity 后关闭?
如何通过 Intent 从自定义 Android 应用程序启动 Lync 客户端?
在本机 IOS 应用程序中加载多个 Cordova 微应用程序