我正在重写一个Windows Phone应用程序,使用优秀的MvvmCross框架使其跨平台。
在Windows Phone上我通常测试DeviceNetworkInformation.IsNetworkAvailable以确保在调用REST服务之前我有网络连接。
有没有办法使用MvvmCross以跨平台方式执行此操作?
答案 0 :(得分:3)
有一个专门针对Network
功能的跨平台插件Cirrious.MvvmCross.Plugins.Network,它最初专门用于提供Reachability
然而,遗憾的是WindowsPhone部分还没有实现!见https://github.com/MvvmCross/MvvmCross/blob/v3.1/Plugins/Cirrious/Network/Cirrious.MvvmCross.Plugins.Network.Phone/Plugin.cs
如果您需要在包括WindowsPhone在内的跨平台应用程序中实现可达性,我可能会选择添加此网络插件,然后修改您的WindowsPhone设置以注册如下内容:
public class MyReachability : IMvxReachability
{
public bool IsHostReachable(string host)
return // something using DeviceNetworkInformation.IsNetworkAvailable
}
}
// registered in Setup using:
protected override void InitializeLastChance() {
base.InitializeLastChance();
Mvx.RegisterType<IMvxReachability, MyReachability>();
}
从长远来看,我很高兴看到一个体面的实现被推回到MvvmCross存储库。
同时将此问题与MvvmCross Reachability on Windows Phone和Network state with mvvmcross?
相关联