Flutter 从网页端跳转到APP (安卓版)
1.网页跳转代码:
<a href="testunilinks://item?arguments=Hello">
打开App跳转到详情页面带上参数
</a>
2.Flutter 添加 uni_links包
flutter pub add uni_links
3.修改 android/app/src/main/AndroidManifest.xml 配置:
<manifest ...>
<!-- ... other tags -->
<application ...>
<activity ...>
<!-- ... other tags -->
<!--这里开始 Deep Links -->
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<!-- 自己定义:scheme和host 我这里定义成 testunilinks://item?arguments=Hello -->
<data
android:scheme="testunilinks"
android:host="item" />
</intent-filter>
<!--这里结束 Deep Links -->
</activity>
</application>
</manifest>
4. Flutter 添加代码:
import 'package:uni_links/uni_links.dart';
import 'package:flutter/services.dart' show PlatformException;
void initState() {
super.initState();
initUniLinks();
}
Future<void> initUniLinks() async {
try {
Uri? initialLink = await getInitialUri(); //重点
if (initialLink != null) {
Navigator.of(context).pushNamed(
'/${initialLink.host}',
arguments: initialLink.query,
);
print("拉起APP成功:$initialLink");
}
} on PlatformException {
print("拉起APP失败");
}
}