我必须在我的应用程序中检查互联网连接,否则answer
我在清单文件中添加了行。但是我遇到getSystemServiceMethod
的问题,在我的情况下没有定义,上下文不包含这样的方法。
我也一直试图做这样的事情:
public static bool isInternetOn()
{
ConnectivityManager connectivityManager = (ConnectivityManager)Context.ConnectivityService;
NetworkInfo networkInfo = connectivityManager.ActiveNetworkInfo;
bool isWifi = networkInfo.Type == ConnectivityType.Wifi; // wifi check
return networkInfo.IsConnected;
}
但它引发了异常。我该如何解决此问题并检查手机是否可以访问互联网。
答案 0 :(得分:4)
Context
作为isInternetOn
。或
connectivityManager = (ConnectivityManager)(Application.Context.GetSystemService(Context.ConnectivityService));
或
您的代码有错误,您必须检查networkInfo
无效。
它应该是这样的:
public static bool isInternetOn()
{
var connectivityManager = (ConnectivityManager)(Application.Context.GetSystemService(Context.ConnectivityService));
NetworkInfo networkInfo = connectivityManager.ActiveNetworkInfo;
return networkInfo != null && networkInfo.IsConnected;
}
最终注意:
您的实施并未涵盖所有情况,请see。 您应该使用ConnectivityPlugin。