Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/224.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android PushNotifications和MVVMCross_Android_Push Notification_Mvvmcross - Fatal编程技术网

Android PushNotifications和MVVMCross

Android PushNotifications和MVVMCross,android,push-notification,mvvmcross,Android,Push Notification,Mvvmcross,我有一个处理推送通知的服务。当应用程序运行时,一切正常,但一旦应用程序不运行,我就会得到一个空引用异常。我把它追溯到以下几行: newIntent = Mvx.Resolve<IMvxAndroidViewModelRequestTranslator> ().GetIntentFor (request); newIntent=Mvx.Resolve().GetIntentFor(请求); 这一行用于获取状态栏通知的意图,因此当用户单击它时,它会将用户带到应用程序内的相应页面。我很

我有一个处理推送通知的服务。当应用程序运行时,一切正常,但一旦应用程序不运行,我就会得到一个空引用异常。我把它追溯到以下几行:

newIntent = Mvx.Resolve<IMvxAndroidViewModelRequestTranslator> ().GetIntentFor (request);
newIntent=Mvx.Resolve().GetIntentFor(请求);
这一行用于获取状态栏通知的意图,因此当用户单击它时,它会将用户带到应用程序内的相应页面。我很确定这是空的,因为应用程序没有运行,MvvmCross框架没有机会初始化和注册IMvxAndroidViewModelRequestTranslator

我的问题是,我应该使用什么作为替代方案

更新 所以我读了一些书,我相信一个常规的意图是行不通的,会破坏我的应用程序。我正在考虑在我的应用程序中创建一个虚拟活动,该活动将获得我将发送的常规意图,并继续使用IMvxAndroidViewModelRequestTranslator(自应用程序启动后该值不应为null)和创建MvvmCross导航请求

有什么想法吗

更新2 尝试了上面的方法但没有成功。。。仍然在同一条线上失败

所以基本上,问题是如何在启动MvvmCross生态系统的同时从状态栏启动应用程序

谢谢


Amit

因此,我最后要做的是,一旦通知到达,Mvx.Resolve抛出一个异常I(表示应用程序未运行),我将通知数据保存到应用程序首选项中,并将应用程序启动到其主要活动中,在那里我简单地检查了通知数据,如果它存在,我将导航到相应的活动。

当Android UI启动时,MvvmCross运行
设置
来初始化IoC、您的应用程序等


如果需要在非UI设置中初始化MvvmCross应用程序,请尝试显示如何访问UI使用的相同设置的答案。

您是正确的。您需要创建一个特定的意图,这可能是导致问题的原因。你是如何创造你的意图的?@RossDargan意图解决方案行不通。因为它不会使MvvmCross框架初始化并中断我的应用程序。你是如何从通知启动应用程序的?