我目前正在尝试从网页打开一个Android应用程序,并传递两个参数。
我去了意图的解决方案,因为它似乎自定义方案是不推荐的,在这种情况下,我不需要一个深链接。
目前,在debug中,唯一发生的事情是我的intent url在chrome中打开并显示一个白色页面,它永远不会打开应用程序。
这是我的机器人清单. xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.MyApp">
<application android:allowBackup="true" android:icon="@mipmap/appicon" android:roundIcon="@mipmap/appicon_round" android:supportsRtl="true">
<activity
android:name="com.MyApp.activity.MainActivity"
android:exported="true"
android:label="MyApp">
<intent-filter>
<action android:name="com.MyApp.LAUNCH"></action>
<category android:name="android.intent.category.DEFAULT"></category>
<category android:name="android.intent.category.BROWSABLE"></category>
<data android:scheme="MyScheme" android:host="MyHost" android:path="/"/>
</intent-filter>
</activity>
</application>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
</manifest>
这是我的博客
if (navigator.userAgent.match(/Android/i)) {
var uri = "intent://MyApp#Intent;scheme=MyScheme;action=com.MyApp.LAUNCH;package=com.MyApp;S.p=" + p + ";S.c=" + c + ";end";
window.open(uri);
}
我已经看到了很多实现这一点的方法,也尝试了很多方法,但我不知道使用API 33的好方法是什么。
我尝试使用“intent:#Intent”,“intent://#Intent”,我尝试在活动下使用和不使用数据属性,我尝试了我自己的方案“MyScheme://"。
我想避免使用deeplink,因为我想保持我的网站可访问,而不启动应用程序(不同的目标)。
2条答案
按热度按时间0md85ypi1#
您需要查看Handling Android App Link文档。
基本上,要打开应用程序,您需要指定一些特定的方案,例如:
要打开的链接将是:
myapp://anypath_here?param1=value1¶m2=value2
尝试使用唯一的方案,否则,如果其他应用程序可以打开它,您将打开一个“打开方式..”对话框。
izj3ouym2#
要为您的应用启用链接处理验证,请添加符合以下格式的Intent过滤器:
更多信息,请参阅验证Android应用程序链接。