什么是DeviceNetworkInformation.IsNetworkAvailable的MvvmCross版本

时间:2014-01-10 00:25:28

标签: mvvmcross

我正在重写一个Windows Phone应用程序,使用优秀的MvvmCross框架使其跨平台。

在Windows Phone上我通常测试DeviceNetworkInformation.IsNetworkAvailable以确保在调用REST服务之前我有网络连接。

有没有办法使用MvvmCross以跨平台方式执行此操作?

1 个答案:

答案 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 PhoneNetwork state with mvvmcross?

相关联