首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Xamarin窗体INetwork中使用XLabs?

如何在Xamarin窗体INetwork中使用XLabs?
EN

Stack Overflow用户
提问于 2016-04-28 14:58:21
回答 2查看 252关注 0票数 0

我在使用来自XLabs.Platform的XLabs.Platform时遇到了问题。我要去接System.NullReferenceException。我不确定这个问题是否类似于需要初始化的INetwork。但是,因为我对Xamarin非常陌生,所以我不知道如何设置IOC容器。我想以一种完全跨平台的方式来实现这个目标(如果可以的话,我想避免使用特定于平台的代码)。谢谢!!

代码:

代码语言:javascript
复制
using XLabs.Ioc;
using XLabs.Platform;
...
namespace XXX
{
   class XXX
    {
    public static bool isOnline()
    {

        var networkservice = DependencyService.Get<XLabs.Platform.Services.INetwork>();
        var status = networkservice.InternetConnectionStatus();
        return (
            (status.Equals(XLabs.Platform.Services.NetworkStatus.ReachableViaCarrierDataNetwork))
            || (status.Equals(XLabs.Platform.Services.NetworkStatus.ReachableViaWiFiNetwork))
            || (status.Equals(XLabs.Platform.Services.NetworkStatus.ReachableViaUnknownNetwork)));
    }

}

}

PS使用XLabs.Platform的文档已过时。以前起作用的Reachability接口(显然)不再工作了。考虑使用代替。是一种需要跨平台代码的方法。不会用这个作为作者本人不同意这种方法。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-04-28 15:26:29

如果您想检查是否有任何互联网连接,我建议使用连通插件 (Xamarin组件)。在添加了Xaamrin组件之后,您可以检查来自PCL/Shared项目的internet连接是否是可以从下面的

代码语言:javascript
复制
if (CrossConnectivity.Current.IsConnected)
{ // Make API call here 
} 
else 
      DisplayAlert("Connectivity Issue", "Please Connect to a Network", "OK") ;
票数 1
EN

Stack Overflow用户

发布于 2016-04-28 15:16:58

您可以通过添加以下属性来填充ioc:

代码语言:javascript
复制
[assembly: Xamarin.Forms.Dependency(typeof(NameOfClassImplementingAnInterface))]
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36918423

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档