android - 如何从网站深度链接到安卓应用程序
问题描述
我有一个主要由移动用户使用的网站。我想从网站链接到一个单独的应用程序,然后应该在手机上打开(该应用程序已经安装)
对于应用程序,我输入了以下方案:
<variable name="URL_SCHEME" value="alfix_smart" />
<variable name="DEEPLINK_SCHEME" value="https" />
<variable name="DEEPLINK_HOST" value="domain.com" />
<variable name="ANDROID_PATH_PREFIX" value="/" />
<variable name="ANDROID_2_PATH_PREFIX" value="/" />
<variable name="ANDROID_3_PATH_PREFIX" value="/" />
<variable name="ANDROID_4_PATH_PREFIX" value="/" />
<variable name="ANDROID_5_PATH_PREFIX" value="/" />
<variable name="DEEPLINK_2_SCHEME" value="https" />
<variable name="DEEPLINK_2_HOST" value="www.domain.com" />
我现在如何将网站的按钮链接到应用程序?我该怎么做?不幸的是,我不知道。
我希望你能帮帮我
解决方案
• 如果您想在Android 和iOS 中处理深度链接,建议使用动态链接。使用Dynamic Links
,您在所有平台(如 Android、iOS 和 Web)上都以类似的方式对待。它将用户从您的移动网站无缝转移到您的应用程序中的等效内容。要查看其用法示例,请参阅this和this。
• 如果您只想在 Android 中处理深度链接(并且您提到的应用程序已经安装),在最简单的方法 ( Deep Links ) 中,您可以将您Activity
作为特定模式URL
的处理程序引入,并将所需参数作为URL
查询参数传递.
要详细查看其使用示例,请参阅此。
在 AndroidManifest.xml 中
<activity android:name=".YourActivity">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<!-- Accepts URIs that begin with "https://example.com" -->
<data android:host="example.com" />
<data android:scheme="https" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<!-- Accepts URIs that begin with "https://www.example.com" -->
<data android:host="www.example.com" />
<data android:scheme="https" />
</intent-filter>
</activity>
在 YourActivity.java 中:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Intent intent = getIntent();
String action = intent.getAction();
if(action.equals(Intent.ACTION_VIEW)){
Uri data = intent.getData();
if (data.getQueryParameter("some_param") != null && data.getQueryParameter("some_param").isNotEmpty()) {
String param = data.getQueryParameter("some_param");
// do what you want to do with param
}
}
}
您的 html 片段:
<a href="https://example.com?some_param=some_value">Click Me!</a>
推荐阅读
- python - 是否可以在 Python 中有单独的 lib 和 src 目录?
- sql - SQL Server 中多列的条件批量更新
- scrapy - 蜘蛛不会停止
- python-3.x - Python中的while循环程序用于存储可被10整除的值
- android - Lambda 不适用于 Kotlin 进行多线程操作
- spring - Spring - 通过 HttpSecurity 禁止除特定角色之外的所有端点
- javascript - Javascript 对象构造函数覆盖以停止调用某些方法
- swift - ARKit - 在 Motion Capture RealityKit 中复制机器人角色
- javascript - UnhandledPromiseRejectionWarning:错误:评估失败
- android - 绑定服务时超时执行服务的 Android ANR