javascript - 检查 URL 方案是否已在 Cordova 的 iOS 或 Android 上注册

标签 javascript android ios cordova cordova-3

我想检查是否安装了特定的应用程序,如果安装了,则调用它。

AFAIK,方法是检查应用程序的自定义 url 方案是否已注册,并使用该 url 启动应用程序。

我可以在 Cordova 应用程序中执行此操作吗?

具体来说,我想检查 iOS 上是否安装了 Google map 应用程序,如果是,则使用其自定义网址启动它,否则显示默认的 Apple map 。

此网址:https://developers.google.com/maps/documentation/ios/urlscheme :展示了如何在 Objective-C 中执行此操作,但如何在 Cordova 应用程序中的 Javascript 中执行此操作?

我找不到任何插件可以实现相同的效果。关于 SO 的其他问题涉及从 native 应用程序或常规网站(在浏览器中)上的 JS 执行此操作。最常见的解决方法是尝试启动并使用超时来查看应用程序启动是否失败并且我的应用程序仍在运行。这是相当不干净的。通过JS访问iOS API canOpenURL 最好。

提示?

最佳答案

Cordova 不附带此功能。不过,有一个针对 iOS 实现它的插件。

我还没有找到任何适用于 Android 的内容,但我认为这在 native Android 代码中并不难做到。即使您不精通 Objective-C 或 Java 并且从未打算编写完全 native 应用程序,如果您想使用 Cordova 构建应用程序,您也应该学习一些基础知识。

小而简单的插件确实很容易做。阅读文档并查看一些简单插件的代码以了解它是如何完成的。例如上面或下面的源代码非常简单易懂:

关于javascript - 检查 URL 方案是否已在 Cordova 的 iOS 或 Android 上注册,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23763120/

相关文章:

ios - 如何从 uitableviewcell 显示 uidatepicker

javascript - 在 PhoneGap Build 应用程序中使用正确的库和 scandit

javascript - div 按钮上的手形图标。表现得像真正的按钮

java - 安卓房间: One database with multiple tables

python - Xcode 8 无法启动 : Loading a plug-in failed

ios - 即使存在,XCode也会显示 “missing recommended icon file”

javascript - 如何在异步函数中添加sequelize.js 事务

javascript - 使用 MongoDB $setEquals 时引号中的 ID

android - Flutter:下面的代码有更好的写法吗?

java - Android studio-transformClassesWithDexForDebug 错误