判断是否有网络,没网直接跳转去设置网络

来源:互联网 发布:百度一下官方软件 编辑:程序博客网 时间:2024/05/20 17:59

有网可以直接使用,这只是一个Demo,你可以设置直接显示你的主Activity
这一个是没网的情况,出现提示无网,可以直接跳转到设置那里

 /**     * 判断是否联网     * 主Activity类     */public class MainActivity extends Activity implements View.OnClickListener{    private CheckNetWork mCheckNetWork =new CheckNetWork();    private Button btn_check;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        init();    }    /**     * 点击事件     *     * @param view     */    @Override    public void onClick(View view) {        switch (view.getId()){            case R.id.btn_check:                checkNet();        }    }    /**     * 判断是否联网     */    private void checkNet() {        if(!mCheckNetWork.isNetworkAvailable(getApplication())){            mCheckNetWork.showNetDialog(MainActivity.this);        }else {            Toast.makeText(MainActivity.this,"有网络,哈哈",Toast.LENGTH_SHORT).show();        }    }    /**     * 初始化     */    private void init() {        btn_check = (Button) findViewById(R.id.btn_check);        btn_check.setOnClickListener(this);    }}这里写代码片
这是另一个Class类  public class CheckNetWork {    private MaterialDialog mMaterialDialog;    /**     * 检测网络连接     *     * @param con     * @return     */    public boolean isNetworkAvailable(Context con) {        ConnectivityManager cm = (ConnectivityManager) con                .getSystemService(Context.CONNECTIVITY_SERVICE);        if (cm == null)            return false;        NetworkInfo netinfo = cm.getActiveNetworkInfo();        if (netinfo == null) {            return false;        }        if (netinfo.isConnected()) {            return true;        }        return false;    }    /**     * 提示设置网络连接对话框     *     * @param context     */    public void showNetDialog(final Context context) {        mMaterialDialog = new MaterialDialog(context)        .setMessage("世界上最遥远的距离就是没网")        .setPositiveButton("检查设置", new View.OnClickListener() {            @Override            public void onClick(View v) {               Intent intent = null;               try {                @SuppressWarnings("deprecation")                String sdkVersion = android.os.Build.VERSION.SDK;                if (Integer.valueOf(sdkVersion) > 10) {                     intent = new Intent(android.provider.Settings.ACTION_WIRELESS_SETTINGS);                } else {                     intent = new Intent();                     ComponentName comp = new                             ComponentName("com.android.settings",                             "com.android.settings.WirelessSettings");                     intent.setComponent(comp);                     intent.setAction("android.intent.action.VIEW");                }                     context.startActivity(intent);                } catch (Exception e) {                      e.printStackTrace();                }                      mMaterialDialog.dismiss();            }            }).setNegativeButton("取消", new View.OnClickListener() {                @Override                public void onClick(View v) {                      mMaterialDialog.dismiss();            }        });        mMaterialDialog.show();    }}
XML文件<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:paddingBottom="@dimen/activity_vertical_margin"    android:paddingLeft="@dimen/activity_horizontal_margin"    android:paddingRight="@dimen/activity_horizontal_margin"    android:paddingTop="@dimen/activity_vertical_margin"    tools:context="com.bzu.gxs.chectnetwork.MainActivity">    <Button        android:id="@+id/btn_check"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="测试"/></RelativeLayout>

最后送上github的网址https://github.com/MarshalZane/MyApplication

原创粉丝点击