【发布时间】:2018-07-03 18:28:43
【问题描述】:
我正在尝试检测与 Xamarin Android 的连接。
当我连接到 wifi 或漫游时,我没有任何错误。
但是当我没有连接到互联网时,我会遇到 System.NullReferenceException 错误并且应用程序崩溃。
ConnectivityManager connectivityManager = (ConnectivityManager)GetSystemService(ConnectivityService);
NetworkInfo info = connectivityManager.ActiveNetworkInfo;
bool isOnline = info.IsConnected; //error is here
通常,布尔 isConnected 应该变为 false。但我不知道为什么它是空的。
我该如何解决这个问题?
【问题讨论】:
-
如果您没有连接到互联网,connectivityManager.ActiveNetworkInfo 很可能返回 null,因此尝试访问 null 对象的属性 IsConnected 会产生
NullReferenceException,请包装您的 `bool isOnline = info.IsConnected 在尝试捕获并捕获 NullReferenceException 或在执行 isOnline = info.IsConnected 之前检查是否 info == null。
标签: c# android visual-studio xamarin connectivity