AndroidManifest.xml文件中加入相应的权限:
< uses-permission android:name = "android.permission.ACCESS_NETWORK_STATE" />Android项目:
//监听器类
[assembly: Dependency(typeof(NetworkConnection))] //的作用是将该类依赖于程序集,以便在可移植平台底下实例化接口。
namespace XXXXXX.Android
{
public class NetworkConnection : INetworkConnection
{
//没有网络
public const int NETWORKTYPE_INVALID = 0;
//wap网络
public const int NETWORKTYPE_WAP = 1;
//2G网络
public const int NETWORKTYPE_2G = 2;
//3G和3G以上网络,或统称为快速网络
public const int NETWORKTYPE_3G = 3;
//wifi网络
public const int NETWORKTYPE_WIFI = 4;
public bool IsConnected { get; set; }
//判断是否有网络连接
public void CheckNetworkConnection()
{
var connectivityManager = (ConnectivityManager)Android.MainApplication.Context.GetSystemService(Context.ConnectivityService);
var activeNetworkInfo = connectivityManager.ActiveNetworkInfo;
if (activeNetworkInfo != null && activeNetworkInfo.IsConnectedOrConnecting)
{
IsConnected = true;
}
else
{
IsConnected = false;
}
}
//检查启用了网络位置提供商报告
public bool isNetLocEnabled(Context context)
{
LocationManager lm = (LocationManager)context.GetSystemService(Context.LocationService);
return lm.IsProviderEnabled(LocationManager.NetworkProvider);
}
//判断是否有WIFI连接
public bool isWifiConnected(Context context)
{
if (context != null)
{
ConnectivityManager mConnectivityManager = (ConnectivityManager)context.GetSystemService(Context.ConnectivityService);
NetworkInfo mWiFiNetworkInfo = mConnectivityManager.GetNetworkInfo(ConnectivityType.Wifi);
//NetworkInfo mWiFiNetworkInfo = mConnectivityManager.GetNetworkInfo(ConnectivityManager.TYPE_WIFI);
if (mWiFiNetworkInfo != null)
{
return mWiFiNetworkInfo.IsAvailable;
}