Android自定义URL,用于在iOS中打开App
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android自定义URL,用于在iOS中打开App相关的知识,希望对你有一定的参考价值。
Android深层链接:为您的清单添加一个intent过滤器
<activity
android:name="com.example.android.GizmosActivity"
android:label="@string/title_gizmos" >
<intent-filter android:label="@string/filter_title_viewgizmos">
<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 "http://www.example.com/gizmos” -->
<data android:scheme="http"
android:host="www.example.com"
android:pathPrefix="/gizmos" />
<!-- note that the leading "/" is required for pathPrefix-->
<!-- Accepts URIs that begin with "example://gizmos”
<data android:scheme="example"
android:host="gizmos" />
-->
</intent-filter>
https://developer.android.com/training/app-indexing/deep-linking.html
在Android中查看intent filters。特别查看类别。
见Everything you need to know about implementing iOS and Android Mobile Deep Linking。这是Android和iOS的好文章。
你可能已经知道有Deep Links,并从Android 6.0 Android App Links开始出现。后者仅用于在您的应用程序中打开URL,而不是任何其他竞争对手。例如,如果不使用此验证,reddit.com可以在7个应用程序中打开。
您可以将每个需要的Activity
与应该打开它的链接相关联。例如,如果您希望在https://awesomejobs.com/jobs/{id}
等应用程序链接中打开,则需要将这些行添加到AndroidManifest.xml
:
<activity android:name="com.awesomejobsapp.ui.activity.JobActivity">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.BROWSABLE"/>
<category android:name="android.intent.category.DEFAULT" />
<data android:scheme="https"
android:host="awesomejobs.com"
android:pathPrefix="/jobs" />
</intent-filter>
</activity>
然后在JobActivity
写(代码是从俄罗斯的article收到的):
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.ac_job);
final Intent intent = getIntent();
final String action = intent.getAction();
final String data = intent.getDataString();
if (Intent.ACTION_VIEW.equals(action) && data != null) {
final String jobId = data.substring(data.lastIndexOf("/") + 1);
loadJobDetails(jobId);
}
}
以上是关于Android自定义URL,用于在iOS中打开App的主要内容,如果未能解决你的问题,请参考以下文章
ios和android应用都可以注册自定义url scheme吗
在 QML 中获取自定义 iOS 方案的源 URL 的最佳方法
如何在 Android 应用程序的对话框中打开 Chrome 自定义选项卡