我发现这个问题是使用Objective-c问的,但我无法将其翻译成C#
e.g。 open-specific-view-when-opening-app-from-notification
基本上我想这样做:
public override void ReceivedRemoteNotification (UIApplication application, NSDictionary userInfo)
{
string alert = (aps[new NSString("alert")] as NSString).ToString();
Debug.WriteLine ("I want to open a specific ViewController and pass in my alert");
}
我实际上是使用mvvmcross来管理我的View导航。理想情况下,我想以某种方式使用mvvmcross实现此导航。在mvvmcross中,我会通过这样做导航到我的ViewControler:
this.ShowViewModel<SpecificControllerViewModel>();
由于
答案 0 :(得分:1)
如果查看ShowViewModel()的参数,它可以将值传递给视图模型
这是here以及示例
的描述您可以通过几种方式实现这一目标。
您可以使用自定义消息。视图模型可以注册接收消息,您可以通过MvvmCross中的ReceivedRemoteNotification
阅读有关信使的here发送消息。
或者,您可以调用ShowViewModel。如果你看看如何实现ShowViewModel here,它使用IMvxViewDispatcher
单例服务,所以你可以使用以下实用程序方法:
static void ShowViewModel<T>(object parameter) where T : IMvxViewModel
{
var viewDispatcher = Mvx.Resolve<IMvxViewDispatcher>();
var request = MvxViewModelRequest.GetDefaultRequest(typeof(T));
request.ParameterValues = ((object)parameter).ToSimplePropertyDictionary();
viewDispatcher.ShowViewModel(request);
}
我在我的博客上发布了这个帖子here。
我认为即使在应用未运行时收到通知(由FinishedLaunching
收到)