如何在Cordova 12中无需插件获取打开应用的URL/URI
在Cordova 12中获取打开应用的HTTP/HTTPS URL
实现步骤
Cordova 12(搭配cordova-android 12.x)支持通过监听原生事件获取打开应用的外部URL,无需额外安装插件,具体操作如下:
等待
deviceready事件
Cordova所有API必须在deviceready事件触发后才能调用,先绑定该事件确保API可用。监听
appUrlOpen事件
当应用被外部HTTP/HTTPS链接唤起时,Cordova会触发appUrlOpen事件,事件对象中包含唤起应用的完整URL。
代码示例
document.addEventListener('deviceready', onDeviceReady, false); function onDeviceReady() { // 监听应用被外部URL打开的事件 window.addEventListener('appUrlOpen', function(event) { // 获取唤起应用的URL const openedUrl = event.url; console.log('唤起应用的URL:', openedUrl); // 可选:解析URL中的参数 const urlParams = new URL(openedUrl).searchParams; const exampleParam = urlParams.get('example'); if (exampleParam) { console.log('URL参数example的值:', exampleParam); } // 这里可以添加你的业务逻辑,比如跳转对应页面 }, false); }
测试方法
可以通过ADB命令模拟外部唤起:
adb shell am start -W -a android.intent.action.VIEW -d "https://mycompany.com?example=test" com.your.app.package.name
替换com.your.app.package.name为你应用的实际包名。
内容的提问来源于stack exchange,提问作者Romain Lavabre
相关产品推荐
相关产品推荐

