判断网络工具类

来源:互联网 发布:ubuntu 提权root 编辑:程序博客网 时间:2024/06/04 21:15
进入页面做网络判断,网络未连接跳转到设置网络页面进行设置:
/**
*检测当前的网络(WLAN3G/2G)状态
*@paramcontextContext
*@returntrue表示网络可用
*清单配置网络权限
*<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>
*/
public static booleanisNetworkAvailable(Context context) {
ConnectivityManager connectivity = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);
if(connectivity != null) {
NetworkInfo info = connectivity.getActiveNetworkInfo();
if(info != null&& info.isConnected())
{
//当前网络是连接的
if(info.getState() == NetworkInfo.State.CONNECTED)
{
//当前所连接的网络可用
return true;
}
}
}
return false;
}
/**
*进入页面做网络判断,网络未连接跳转到设置网络页面进行设置
*/
private voidgetRun() {
if(isNetworkAvailable(this)){
//网络连接成功,加载网络请求的数据
initData();
}else{
//网络未连接跳转到设置网络页面进行设置
setNetwork();
}

}
/**
*网络未连接时,调用设置方法
导包:
import android.support.v7.app.AlertDialog;
import android.content.DialogInterface;
*/
private voidsetNetwork(){
Toast.makeText(this),"wifi is closed!", Toast.LENGTH_SHORT).show();
AlertDialog.Builder builder =new AlertDialog.Builder(this);
builder.setIcon(R.mipmap.ic_launcher);
builder.setTitle("网络提示信息");
builder.setMessage("网络不可用,如果继续,请先设置网络!");
builder.setPositiveButton("设置",new DialogInterface.OnClickListener() {
@Override
public voidonClick(DialogInterface dialog, int which) {
//跳转到系统的网络设置界面
Intent intent =null;
/**
*判断手机系统的版本!如果API大于10就是3.0+
*因为3.0以上的版本的设置和3.0以下的设置不一样,调用的方法不同
*/
if(android.os.Build.VERSION.SDK_INT> 10) {
intent =new Intent(android.provider.Settings.ACTION_WIFI_SETTINGS);
}else {
intent =new Intent();
ComponentName component =new ComponentName(
"com.android.settings",
"com.android.settings.WirelessSettings");
intent.setComponent(component);
intent.setAction("android.intent.action.VIEW");
}
startActivity(intent);
}
});
builder.setNegativeButton("取消",new DialogInterface.OnClickListener() {
@Override
public voidonClick(DialogInterface dialog, int which) {
}
});
builder.create();
builder.show();
}
原创粉丝点击