flutter 内的关键代码
导包:
XML
url_launcher: ^6.3.1
跳转逻辑:
Dart
onPressed: () async {
await launchUrl(Uri.parse('demoname://'));
},
安卓内的关键代码

XML
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="demoname" />
</intent-filter>
安卓中仅仅添加如上代码便可以实现让外部 app 跳转,但是并不会新开一个应用,点击跳转按钮会发现仍旧处在原来的 app 中,如下:

默认情况下,scheme 跳转会复用已有的任务栈(Task),不会新开一个实例。为此还需要在安卓配置中添加如下代码,让唤起逻辑变成新开一个 app

XML
android:launchMode="singleTask"
android:taskAffinity="com.example.demoname"
添加后,重装安卓 app(因为变更了 manifest配置),结果如下
