根据https://flutter.dev/docs/development/ui/navigation/deep-linking
我在AndroidManifest.xml中添加了以下内容:
<!-- Deep linking -->
<meta-data android:name="flutter_deeplinking_enabled" android:value="true" />
<intent-filter android:autoVerify="true">
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="appName" android:host="com.companyName.appName" />
</intent-filter>
打开部署在真实设备上并通过USB连接的应用程序,通过调用:
adb shell am start -W -a android.intent.action.VIEW -c android.intent.category.BROWSABLE -d "appName://com.companyName.appName/">
,甚至打开一些子页面,如:-W -a android.intent.action.VIEW -c android.intent.category.BROWSABLE -d "appName://com.companyName.appName/help">
但还有几个问题:
- 我如何从另一个应用程序打开应用程序(而不是通过adb)?
- 我如何为视图打开添加参数?
我如何从另一个应用程序打开应用程序(而不是通过adb)?
简单地通过调用appName://com.companyName.appName/
在一个html网站的链接(不工作输入到浏览器的url字段)
我如何为视图打开添加参数?
我通过在末尾加上appName://com.companyName.appName/PARAM1/PARAM2
和当我使用
onGenerateRoute: (settings) => MyRoutes.ROUTES(settings),
中的MaterialApp我可以从settings.name
中提取这些参数