3
是否可以根據發送到應用程序的元數據定義要打開的「屏幕」?例如,從Android/iOS上的應用程序快捷方式?如果是這樣,我該如何去做呢?如何使用元數據啓動應用以打開路由?
是否可以根據發送到應用程序的元數據定義要打開的「屏幕」?例如,從Android/iOS上的應用程序快捷方式?如果是這樣,我該如何去做呢?如何使用元數據啓動應用以打開路由?
我不認爲這是可行的在純Dart當前的Flutter API。我會編寫一個攔截iOS上的application:openURL:options:
和Android上的onCreate/onNewIntent
的插件。您可以使用您的插件爲Dart代碼提供一種訪問您收到的本地元數據的方式,並在啓動期間使用它將push
一個新的Route
堆疊到您的Navigator
堆棧上。您可以在firebase_messaging example app中看到類似的內容,這對於學習圍繞插件系統的方式來說是一個很好的起點。
這是插件上的documentation以獲取更多信息。如果您決定編寫插件,請考慮發佈它,以便其他人也可以使用它。
您可能還想看看這個comment on issue 8711,它描述了另一個團隊試圖向他們的Flutter應用添加深層鏈接。