• android检查网络连接状态的变化,无网络时跳转到设置界面


    在AndroidManifest.xml中加一个声明
    <receiver android:name="NetCheckReceiver">

        <intent-filter>

               <action android:name="android.net.conn.CONNECTIVITY_CHANGE" />

        </intent-filter>

    </receiver>


    NetCheckReceive.java文件如下
    import android.content.BroadcastReceiver;

    import android.content.Context;

    import android.content.Intent;

    import android.net.ConnectivityManager;


    public class NetCheckReceiver extends BroadcastReceiver{
        //android 中网络变化时所发的Intent的名字

        private static final String netACTION="android.net.conn.CONNECTIVITY_CHANGE";

        @Override

        public void onReceive(Context context, Intent intent) {
            if(intent.getAction().equals(netACTION)){

        //Intent中ConnectivityManager.EXTRA_NO_CONNECTIVITY这个关键字表示着当前是否连接上了网络

        //true 代表网络断开   false 代表网络没有断开

                if(intent.getBooleanExtra(ConnectivityManager.EXTRA_NO_CONNECTIVITY, false)){

                    aActivity.stopFlag = true;

                }else{

                    aActivity.stopFlag = false;

                }

            }

        }

    }
    aActivity.stopFlag 是一个static布尔值  可以出现在程序需要判断网络情况的地方。

     
     
    2顺便加一个不需要broadcastReceiver就可以查看网络的例子。
    这个方法可以放在需要检查网络通讯情况的地方。返回值为true代表网络畅通。
     private boolean checkNetwork() {
            ConnectivityManager conn = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
            NetworkInfo net = conn.getActiveNetworkInfo();
            if (net != null && net.isConnected()) {
                return true;
            }
            return false;
        }
     
     
    以下的这个判断可以使用户在失去网络链接的情况下,自动跳转到设置无线网界面。
            if (!checkNetwork()) {
                Toast.makeText(this, R.string.lose_network, Toast.LENGTH_LONG).show();
                Intent intent = new Intent("android.settings.WIRELESS_SETTINGS");
                startActivity(intent);
                return;
            }
  • 相关阅读:
    Git远程和分支管理
    Git基本使用教程
    linux基础知识总结
    正则表达式-概要
    java注释规范
    JavaScript对象(Object)
    centos7安装docker
    springboot项目问题记录one
    tomcat不需要重启热部署xml文件
    java调用新浪接口根据Ip查询所属地区
  • 原文地址:https://www.cnblogs.com/navy-wang/p/3275018.html
Copyright © 2020-2023  润新知