我正试图找出一个关于“如何为Cordova应用程序定义自定义URL方案(在iOS和Android平台上)"的好文档。
我花了几个小时在网上,但没有找到一个好的答案。我得到了一些链接,这是相关的,但没有帮助我。
我的是一个Cordova应用程序,运行在iOS和Android平台上。我需要启用我的应用程序,以便在调用电子邮件的URL时启动(例如:我的应用程序://)。
请告诉我应该对Cordova应用程序进行哪些配置更改才能启用此功能。
**编辑:**Android清单
<?xml version='1.0' encoding='utf-8'?>
<manifest android:hardwareAccelerated="true" android:versionCode="1" android:versionName="0.0.1" package="com.simple.app" xmlns:android="http://schemas.android.com/apk/res/android">
<supports-screens android:anyDensity="true" android:largeScreens="true" android:normalScreens="true" android:resizeable="true" android:smallScreens="true" android:xlargeScreens="true" />
<uses-permission android:name="android.permission.INTERNET" />
<application android:hardwareAccelerated="true" android:icon="@drawable/icon" android:label="@string/app_name" android:supportsRtl="true">
<activity android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale" android:label="@string/activity_name" android:launchMode="singleTop" android:name="MainActivity" android:theme="@android:style/Theme.Black.NoTitleBar" android:windowSoftInputMode="adjustResize">
<intent-filter android:label="@string/launcher_name">
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<intent-filter>
<data android:scheme="com.test.simple" />
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
</intent-filter>
</activity>
</application>
<uses-sdk android:minSdkVersion="10" android:targetSdkVersion="21" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
</manifest>
网址
<a href="com.test.simple://">Launch The App</a>
4条答案
按热度按时间watbbzwu1#
我知道你是专门要求有关如何手工编码这自己的文档,但只是FYI有一个很好的插件,将做所有的(相当数量!)为您工作:
安装时,您只需提供要用于启动应用的URL方案:
这就是它的全部功能,可以在Android和iOS上运行。
vd8tlhqk2#
安卓系统:
在清单中:
试着使用singleTask和singleTop并找出它们的不同之处,两者都有不同的功能。
对于iOS:
因此,在你的应用页面创建一个名为"重定向到我的应用"的按钮,其href为"yourappscheme://"。
此外还有其他部分,如方案,主机。
如果你想从url中获取参数,你必须使用本地代码。
假设你的网址是这样的:yourappscheme://?用户名="www.example.com" Android:将此代码放入OnCreate中。xxx@gmail.com" Android: put this code in OnCreate.
适用于iOS:在应用程序代理中:
希望这是清楚的。
hkmswyz63#
我这样做:
1.转到你的文件夹项目并打开你的cmd
1.接下来键入以下内容:
cordova插件添加cordova插件自定义方案变量URL_SCHEME = mycoolapp
而不是mycoolapp写你的应用程序名称,但我只是删除(应用程序)的命令时,我粘贴这一点,但我不知道它是重要的或不,所以写在下面的(index.html)文件夹(www)。
接下来,当你添加插件(customurlschema)时,它会添加到你项目的plugin文件夹中,所以请转到
并复制(LaunchMyApp.js),现在您可以看到
(src)是"js/plugins/LaunchMyApp.js",因此您在您的(www)文件夹中创建此路径并将(LaunchMyApp.js)粘贴到该路径上。现在构建您的应用程序。如果第一次未构建您的应用程序,请使用以下命令删除Android
并再次添加到您的项目,并建立两次。可能它为您工作,因为我在项目测试,与此插件工作,你应该把喜欢标签下面在您的html页面
例如:我把它写在下面:
所以我的(href)如下所示:
然后测试它。
我的英语不太好,所以请原谅我先说。
pod7payv4#
2023年更新
从2023年起,PhoneGap被弃用,因此使用已接受答案建议的安装脚本每次都会失败。PhoneGap的安装没有候选项。
如果您尝试在终端中运行此命令:
这将返回以下错误:
无法通过注册表获取插件https://github.com/EddyVerbruggen/LaunchMyApp-PhoneGap-Plugin.git。这可能是连接问题或插件规范不正确。请检查您的连接和插件名称/版本/URL。CordovaError:错误:在$PATH中找不到git二进制文件
TLDR
要安装custom-url-scheme插件,请运行以下命令:
那么在您的服务器上应该有一个页面: