Android之判断手机是否联网
Posted aweng
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android之判断手机是否联网相关的知识,希望对你有一定的参考价值。
public static boolean isNetworkConnected(Context context) {
if (context != null) {
ConnectivityManager mConnectivityManager = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo mNetworkInfo = mConnectivityManager.getActiveNetworkInfo();
if (mNetworkInfo != null) {
//mNetworkInfo.isAvailable();
return true;//有网
}
}
return false;//没有网
}
public static void OpenNetworkSetting(final Context context) {
// 检查有没有网络
ConnectivityManager connectivityManager = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo activeNetworkInfo = connectivityManager
.getActiveNetworkInfo();
//模拟器是用电脑上网,有可能设置飞行模式activeNetworkInfo!=null
//在真机测试。真机也要上网
//用一台笔记本电脑,做wifi连接
if (activeNetworkInfo == null) {
// 没网,显示一个dialog,
AlertDialog.Builder dialog = new Builder(context);
dialog.setMessage("亲,现在你没网");
// 打开
dialog.setPositiveButton("打开", new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
try {
//不同的android版本网络设置界面activity中的intent-filetr,action是不一样的
//不同的android版本的代码是不一样的。
int androidVersion=android.os.Build.VERSION.SDK_INT;
//通过代码得到手机厂商名称,
//不同厂商的手机的代码是不一样的。
//有的手机能得到手机号,大部分手机能得到sim卡中的串号,串号每个手机是唯一的。
if (androidVersion>=10)
{
// 打开系统自带的网络设置界面
Intent intent = new Intent(
android.provider.Settings.ACTION_WIRELESS_SETTINGS);
context.startActivity(intent);
}
} catch (Exception e) {
// TODO: handle exception
}
}
});
// 取消
dialog.setNegativeButton("取消", new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
dialog.cancel();
}
});
dialog.show();
}
}
以上是关于Android之判断手机是否联网的主要内容,如果未能解决你的问题,请参考以下文章