我在使用來自XLabs.Platform的INetwork時遇到問題。我得到System.NullReferenceException。我不確定問題是否類似於我需要初始化INetwork的this。但是,因爲我對Xamarin非常陌生,所以我不知道如何設置IOC容器。我希望以完全跨平臺的方式來實現這個目標(如果我能夠避免的話,我想避免使用特定於平臺的代碼)。謝謝!!如何在Xamarin Forms XLabs中使用INetwork?
代碼:
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界面不再工作。考慮使用this代替。 This是一種需要跨平臺代碼的方法。因爲作者本人對此方法不屑一顧。
這就是我所做的 – heights1976