要使其他app可以跳转到本app某个Activity,并传递参数,可以使用Uri隐式方式来实现。方法如下:
1.AndroidManifest.xml中增加intent-filter标签:
<activity
android:name=".ui.MainActivity"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<!-- 在data里设置了scheme和host,则该Activity可以接收和处理类似于"data://main/XXX"的链接 -->
<data
android:host="main"
android:scheme="data" />
</intent-filter>
</activity>
2.Activity类的onCreate中添加解析参数的逻辑:
Uri uri = getIntent().getData();
if (uri != null) {
// 通过隐式方式跳转而来
String id = uri.getQueryParameter("id");
String name = uri.getQueryParameter("name");
// 逻辑处理
}
3.其他app中跳转时的逻辑:
Uri uri = Uri.parse("data://main/?id=id1&name=name1");
Intent intent = new Intent(null, uri);
startActivity(intent);
本文介绍如何在Android应用中设置URI隐式意图过滤器,使其他应用能通过特定URL格式跳转并传递参数至目标应用。通过在AndroidManifest.xml中配置intent-filter和data标签,以及在Activity中解析传入的参数,实现跨应用调用。
877

被折叠的 条评论
为什么被折叠?



