You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter Deep Linking配置后跨应用唤起与参数传递问题咨询

问题1:不使用adb从其他应用唤起当前Flutter应用的方法

分不同场景实现:

  • 安卓原生应用唤起:直接构造匹配规则的Intent启动即可,示例代码如下:
// Kotlin 示例
val intent = Intent(Intent.ACTION_VIEW, Uri.parse("appName://com.companyName.appName/help"))
intent.addCategory(Intent.CATEGORY_BROWSABLE)
// 可选:添加判断避免找不到应用崩溃
if (intent.resolveActivity(packageManager) != null) {
  startActivity(intent)
}
  • 网页端唤起:直接在HTML中用a标签指向你的Deep Link地址即可:
<a href="appName://com.companyName.appName/help">打开指定应用</a>

注意部分浏览器会拦截非http/https的scheme跳转,需要用户手动确认触发。

  • 其他Flutter应用唤起:使用url_launcher库直接调用对应地址即可,示例代码:
import 'package:url_launcher/url_launcher.dart';

final Uri targetUri = Uri.parse('appName://com.companyName.appName/help');
if (await canLaunchUrl(targetUri)) {
  await launchUrl(targetUri);
}

问题2:Deep Linking唤起时传递参数的方法

参数添加方式

直接按照URI的标准规则在路径后拼接Query参数即可,示例地址:

appName://com.companyName.appName/help?id=123&keyword=test&from=web

你可以直接用adb测试参数传递是否正常,对应adb命令如下:

adb shell am start -W -a android.intent.action.VIEW -c android.intent.category.BROWSABLE -d "appName://com.companyName.appName/help?id=123&keyword=test"

参数获取方式

在Flutter层可以直接通过路由监听拿到完整的Uri,再解析参数即可:

  • 如果你使用GoRouter等路由框架,可直接在路由配置中获取参数:
GoRoute(
  path: '/help',
  builder: (context, state) {
    // 直接读取参数
    final id = state.uri.queryParameters['id'];
    final keyword = state.uri.queryParameters['keyword'];
    return HelpPage(id: id, keyword: keyword);
  },
)
  • 如果你使用原生路由,可通过WidgetsBindingObserver监听路由变化获取初始Uri和后续唤起的Uri:
@override
void initState() {
  super.initState();
  WidgetsBinding.instance.addObserver(this);
  // 获取首次启动的Deep Link参数
  _getInitialUri();
}

Future<void> _getInitialUri() async {
  final routeStr = WidgetsBinding.instance.platformDispatcher.defaultRouteName;
  final uri = Uri.parse(routeStr);
  // 解析uri即可拿到所有参数
}

@override
void didChangeAppLifecycleState(AppLifecycleState state) {
  if (state == AppLifecycleState.resumed) {
    // 应用从后台唤起时重新获取Uri
    _getInitialUri();
  }
}

内容的提问来源于stack exchange,提问作者derChris

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 06:24:02