深度链接时从 IMvxNavigationFacade 在 MvxViewModelRequest 中发送新参数

Sending new parameters in MvxViewModelRequest from a IMvxNavigationFacade when deeplinking

我正在我的应用程序中使用 deeplinking,我希望在使用 IMvxNavigationFacade 导航到视图模型时预设一些参数。深linkurl是这样的:

myappname://deeplink/toviewwithdata/?navigatetoview=viewtype1&id=78910

所以深层 linking 正在工作,我正在使用程序集属性

进入导航外观
[assembly: MvxNavigation(typeof(RoutingFacade), @"myappname://deeplink/toviewwithdata/\?navigatetoview=(?<viewtype>viewtype1)&id=(?<id>\d{5})")]

我尝试使用 MvxBundleMvxViewModelRequest 添加其他参数,但我认为我做的不对。这是我的导航门面:

public class RoutingFacade : IMvxNavigationFacade
{
    public Task<MvxViewModelRequest> BuildViewModelRequest(string url, IDictionary<string, string> currentParameters)
    {
       var viewModelType = typeof(FirstViewModel);
       var parameters = new MvxBundle();
       try
       {
           // TODO: Update this to handle different view types and add error handling
           if (currentParameters != null)
           {
               Debug.WriteLine($"RoutingFacade - {currentParameters["viewtype"]}, {currentParameters["id"]}");

               switch (currentParameters["viewtype"])
               {
                   case "viewtype1":
                       viewModelType = typeof(FirstViewModel);
                       parameters.Data.Add("test", "somevalue");
                       break;
                   default:
                   case "viewtype2":
                       viewModelType = typeof(FirstViewModel);
                       break;
               }
           }
       }
       catch (Exception ex)
       {
           Debug.WriteLine($"RoutingFacade - Exception:  {ex.Message}");
           //TODO  viewModelType = typeof(ErrorViewModel);
       }

    return Task.FromResult(new MvxViewModelRequest(viewModelType, parameters, null));
}

然后是我的视图模型 Init 方法

    public void Init(string id, string viewtype, string test)
    {
        // Do stuff with parameters
    }

但是测试参数为空?如何将参数传递到 MvxViewModelRequest?

更新:

不知道是否可以从此处查看源代码https://github.com/MvvmCross/MvvmCross/blob/f4b2a7241054ac288a391c4c7b7a7342852e1e19/MvvmCross/Core/Core/Navigation/MvxNavigationService.cs#L122,因为请求参数是从深度 link url 和 [=36 的正则表达式中设置的=] 来自 BuildViewModelRequest,facadeRequest.parameterValues 被忽略。

在此拉取中添加了此功能request