zoukankan      html  css  js  c++  java
  • Android 监测手机联网状态 wifi、移动数据流量、无联网状态

    手机当完成联网时会发送一个广播,我们只要创建一个广播接收者即可,代码如下:

    package com.example.NetworkChangeReceiver2;
    
    import android.content.BroadcastReceiver;
    import android.content.Context;
    import android.content.Intent;
    import android.net.ConnectivityManager;
    import android.net.NetworkInfo;
    import android.widget.Toast;
    
    /**
     * Created by Heyiyong on 2014-4-20 下午2:23.
     */
    public class NetworkChangeReceiver extends BroadcastReceiver {
        @Override
        public void onReceive(Context context, Intent intent) {
            ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
            NetworkInfo activeNetworkInfo = cm.getActiveNetworkInfo();
            if (activeNetworkInfo == null) {
                Toast.makeText(MyActivity.instance, "当前无网络连接!", 1).show();
            }
            if (activeNetworkInfo.getType() == ConnectivityManager.TYPE_WIFI) {
                Toast.makeText(MyActivity.instance, "wifi连接成功!", 1).show();
                return;
            }
            if (activeNetworkInfo.getType() == ConnectivityManager.TYPE_MOBILE) {//当前的connect不是wifi,并且是移动数据
                Toast.makeText(MyActivity.instance, "移动数据流量连接!", 1).show();
                return;
            }
        }
    }

    MyActivity.java

    package com.example.NetworkChangeReceiver2;
    
    import android.app.Activity;
    import android.os.Bundle;
    
    public class MyActivity extends Activity {
        public static MyActivity instance;
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
            instance = this;
        }
    }

    注意:不要忘了添加权限:

        <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>

    注册广播接收者:

            <receiver
                    android:name=".NetworkChangeReceiver"
                    android:label="NetworkConnection" >
                <intent-filter>
                    <action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
                </intent-filter>
            </receiver>
  • 相关阅读:
    解决运行docker命令要用sudo的问题
    python3 http.server 本地服务支持跨域
    Linux 命令速记本
    截取某段时间内的日志
    centos7 安装postgresql10
    centos 7 安装 mail
    centos7 mail
    centos7 mysql 5.7 官网下载tar安装
    修改storm ui 默认端口
    redis-trib构建集群
  • 原文地址:https://www.cnblogs.com/wuyou/p/3676560.html
Copyright © 2011-2022 走看看