我正在尝试使用xamarin + mvvmcross实现深度链接能力,
无论是plist/清单中的深度链接配置都已经完成并工作。
我正在努力实现的是,无论我的应用程序运行与否,我都希望我的主视图模型能够处理由it's InitFromBundle (IMvxBundle bundle)方法中的深度链接发送的params (我的主视图模型在应用程序运行时总是活动的)。
虽然在安卓系统中,通过在启动屏幕活动中覆盖TriggerFirstNavigate并覆盖IMvxAppStart启动方法是相当容易实现的,但我已经浏览了mvvmcross源代码,看看它是如何在Xamarin.iOS中完成的,但仍然没有成功。
当我的ios应用程序是从深链接打开时,InitFromBundle (IMvxBundle bundle)方法确实处理url参数,但当我在应用程序还活着时单击深度链接时,它会将应用程序带到前面,但不调用InitFromBundle方法。
我已经做的是向苹果开发人员询问它是如何工作的,正如这里所看到的那样:
在上面的链接中,我的情况可以在图6-2中看到。
发布于 2014-01-06 11:17:14
这只是猜测,但根据文档,我可以想象您需要在HandleOpenURL中重写appdelegate.cs。然后,您可能希望使用一个信使通知您的应用程序已经请求了一个新的url,或者按照这里的答案到从视图导航到视图模型。
例如:
public override bool HandleOpenURL (UIApplication application, NSUrl url)
{
if (url != null)
{
//do navigation or message notification here
return true;
}
else
return false;
}https://stackoverflow.com/questions/20946531
复制相似问题