• Android判断网络连接状态


    • 需要相关权限

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

       

    • 在界面中,存在一个按钮,单击按钮的情况下,判断当前的网络连接状态,分别在连接网络状态和未连接网络状态下,提示相关信息。代码如下:

    public class MainActivity extends Activity {

        private Button button;//对应的按钮
        private ConnectivityManager connetivityManager;//
        private NotificationManager notificationManager;// 通知用户网络状况
        private BroadcastReceiver broadcastReceiver = new BroadcastReceiver() {

            @Override
            public void onReceive(Context contex, Intent intent) {
                // TODO Auto-generated method stub
                // 网络状况
                NetworkInfo mobileInfo = connetivityManager
                        .getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
                NetworkInfo wifiInfo = connetivityManager
                        .getNetworkInfo(ConnectivityManager.TYPE_WIFI);

                Notification.Builder builder = new Notification.Builder(
                        MainActivity.this);
                builder.setContentTitle("提示信息");
                builder.setSmallIcon(R.drawable.ic_launcher);
                if (!mobileInfo.isConnected() && !wifiInfo.isConnected()) {
                    builder.setContentText("网络状态有异常");
                } else {
                    builder.setContentText("网络正常");
                }
                notificationManager.notify(1001, builder.build());
            }
        };

        @Override
        protected void onCreate(Bundle savedInstanceState) {
            // TODO Auto-generated method stub
            super.onCreate(savedInstanceState);
            setContentView(R.layout.mainactivity);
            button = (Button) findViewById(R.id.button1);
            button.setOnClickListener(new OnClickListener() {

                @Override
                public void onClick(View arg0) {
                    // TODO Auto-generated method stub
                    IntentFilter intentFilter = new IntentFilter();
                    intentFilter.addAction(ConnectivityManager.CONNECTIVITY_ACTION);
                    registerReceiver(broadcastReceiver, intentFilter);
                    connetivityManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
                    notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
                }
            });
        }

        // 卸载广播
        @Override
        protected void onPause() {
            // TODO Auto-generated method stub
            super.onPause();
            if (broadcastReceiver != null) {
                unregisterReceiver(broadcastReceiver);
            }
        }
    }

  • 相关阅读:
    javahtml标签介绍
    腾讯课堂下载视频
    数据库
    eclipse将web项目部署到tomcat下
    c++ 枚举目录
    2022年,鉴历史,谋发展
    数字治理(软件信息化)与人性。 附:《全球数字治理白皮书》下载。
    iNeuOS工业互联网操作系统,顺利从NetCore3.1升级到Net6的过程汇报
    iNeuOS工业互联网操作系统下发命令给iNeuLink硬件网关,进一步修改设备参数和控制设备
    [免费下载应用]iNeuKernel.Ocr 图像数据识别与采集的产品化应用
  • 原文地址:https://www.cnblogs.com/Yellow0-0River/p/4237616.html
Copyright © 2020-2023  润新知