zoukankan      html  css  js  c++  java
  • 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);
            }
        }
    }

  • 相关阅读:
    【算法总结】哈夫曼树
    堆栈入门-简单计算器
    堆栈入门-括号匹配问题
    Linux下使用vim命令编辑与修改文本内容
    Ubuntu查看与结束任务进程
    Mac OS X开发者准备工作
    Mac OS X平台上Java环境的配置
    OS X平台上MySQL环境搭建
    2015 Python News
    2015 Open Source News
  • 原文地址:https://www.cnblogs.com/Yellow0-0River/p/4237616.html
Copyright © 2011-2022 走看看