zoukankan      html  css  js  c++  java
  • android wifi 设置 控制开关



    public class wifi extends Activity
    {
      private TextView mTextView01;
      private CheckBox mCheckBox01;
      
      /* 创建WiFiManager对象 */
      private WifiManager mWiFiManager01;
      
      /** Called when the activity is first created. */
      @Override
      public void onCreate(Bundle savedInstanceState)
      {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        mTextView01 = (TextView) findViewById(R.id.myTextView1);
        mCheckBox01 = (CheckBox) findViewById(R.id.myCheckBox1);
        
        /* 以getSystemService取得WIFI_SERVICE */
        mWiFiManager01 = (WifiManager)
                         this.getSystemService(Context.WIFI_SERVICE);
        
        /* 判断运行程序后的WiFi状态是否打开或打开中 */
        if(mWiFiManager01.isWifiEnabled())
        {
          /* 判断WiFi状态是否“已打开” */
          if(mWiFiManager01.getWifiState()==
             WifiManager.WIFI_STATE_ENABLED)
          {
            /* 若WiFi已打开,将选取项打勾 */
            mCheckBox01.setChecked(true);
            /* 更改选取项文字为关闭WiFi*/
            mCheckBox01.setText(R.string.str_uncheck);
          }
          else
          {
            /* 若WiFi未打开,将选取项勾选择消 */
            mCheckBox01.setChecked(false);
            /* 更改选取项文字为打开WiFi*/
            mCheckBox01.setText(R.string.str_checked);
          }
        }
        else
        {
          mCheckBox01.setChecked(false);
          mCheckBox01.setText(R.string.str_checked);
        }
        
        /* 捕捉CheckBox的点击事件 */
        mCheckBox01.setOnClickListener(
        new CheckBox.OnClickListener()
        {
          @Override
          public void onClick(View v)
          {
            // TODO Auto-generated method stub
            
            /* 当选取项为取消选取状态 */
            if(mCheckBox01.isChecked()==false)
            {
              /* 尝试关闭Wi-Fi服务 */
              try
              {
                /* 判断WiFi状态是否为已打开 */
                if(mWiFiManager01.isWifiEnabled() )
                {
                  /* 关闭WiFi */
                  if(mWiFiManager01.setWifiEnabled(false))
                  {
                    mTextView01.setText(R.string.str_stop_wifi_done);
                  }
                  else
                  {
                    mTextView01.setText(R.string.str_stop_wifi_failed);
                  }
                }
                else
                {
                  /* WiFi状态不为已打开状态时 */
                  switch(mWiFiManager01.getWifiState())
                  {
                    /* WiFi正在打开过程中,导致无法关闭... */
                    case WifiManager.WIFI_STATE_ENABLING:
                      mTextView01.setText
                      (
                        getResources().getText
                        (R.string.str_stop_wifi_failed)+":"+
                        getResources().getText
                        (R.string.str_wifi_enabling)
                      );
                      break;
                    /* WiFi正在关闭过程中,导致无法关闭... */
                    case WifiManager.WIFI_STATE_DISABLING:
                      mTextView01.setText
                      (
                        getResources().getText
                        (R.string.str_stop_wifi_failed)+":"+
                        getResources().getText
                        (R.string.str_wifi_disabling)
                      );
                      break;
                    /* WiFi已经关闭 */
                    case WifiManager.WIFI_STATE_DISABLED:
                      mTextView01.setText
                      (
                        getResources().getText
                        (R.string.str_stop_wifi_failed)+":"+
                        getResources().getText
                        (R.string.str_wifi_disabled)
                      );
                      break;
                    /* 无法取得或辨识WiFi状态 */
                    case WifiManager.WIFI_STATE_UNKNOWN:
                    default:
                      mTextView01.setText
                      (
                        getResources().getText
                        (R.string.str_stop_wifi_failed)+":"+
                        getResources().getText
                        (R.string.str_wifi_unknow)
                      );
                      break;
                  }
                  mCheckBox01.setText(R.string.str_checked);
                }
              }
              catch (Exception e)
              {
                Log.i("HIPPO", e.toString());
                e.printStackTrace();
              }
            }
            else if(mCheckBox01.isChecked()==true)
            {
              /* 尝试打开Wi-Fi服务 */
              try
              {
                /* 确认WiFi服务是关闭且不在打开作业中 */
                if(!mWiFiManager01.isWifiEnabled() && 
                   mWiFiManager01.getWifiState()!=
                   WifiManager.WIFI_STATE_ENABLING )
                {
                  if(mWiFiManager01.setWifiEnabled(true))
                  {
                    switch(mWiFiManager01.getWifiState())
                    {
                      /* WiFi正在打开过程中,导致无法打开... */
                      case WifiManager.WIFI_STATE_ENABLING:
                        mTextView01.setText
                        (
                          getResources().getText
                          (R.string.str_wifi_enabling)
                        );
                        break;
                      /* WiFi已经为打开,无法再次打开... */
                      case WifiManager.WIFI_STATE_ENABLED:
                        mTextView01.setText
                        (
                          getResources().getText
                          (R.string.str_start_wifi_done)
                        );
                        break;
                      /* 其它未知的错误 */
                      default:
                        mTextView01.setText
                        (
                          getResources().getText
                          (R.string.str_start_wifi_failed)+":"+
                          getResources().getText
                          (R.string.str_wifi_unknow)
                        );
                        break;
                    }
                  }
                  else
                  {
                    mTextView01.setText(R.string.str_start_wifi_failed);
                  }
                }
                else
                {
                  switch(mWiFiManager01.getWifiState())
                  {
                    /* WiFi正在打开过程中,导致无法打开... */
                    case WifiManager.WIFI_STATE_ENABLING:
                      mTextView01.setText
                      (
                        getResources().getText
                        (R.string.str_start_wifi_failed)+":"+
                        getResources().getText
                        (R.string.str_wifi_enabling)
                      );
                      break;
                    /* WiFi正在关闭过程中,导致无法打开... */
                    case WifiManager.WIFI_STATE_DISABLING:
                      mTextView01.setText
                      (
                        getResources().getText
                        (R.string.str_start_wifi_failed)+":"+
                        getResources().getText
                        (R.string.str_wifi_disabling)
                      );
                      break;
                    /* WiFi已经关闭 */
                    case WifiManager.WIFI_STATE_DISABLED:
                      mTextView01.setText
                      (
                        getResources().getText
                        (R.string.str_start_wifi_failed)+":"+
                        getResources().getText
                        (R.string.str_wifi_disabled)
                      );
                      break;
                    /* 无法取得或识别WiFi状态 */
                    case WifiManager.WIFI_STATE_UNKNOWN:
                    default:
                      mTextView01.setText
                      (
                        getResources().getText
                        (R.string.str_start_wifi_failed)+":"+
                        getResources().getText
                        (R.string.str_wifi_unknow)
                      );
                      break;
                  }
                }
                mCheckBox01.setText(R.string.str_uncheck);
              }
              catch (Exception e)
              {
                Log.i("HIPPO", e.toString());
                e.printStackTrace();
              }
            }
          }
        });
      }
      
      public void mMakeTextToast(String str, boolean isLong)
      {
        if(isLong==true)
        {
          Toast.makeText(wifi.this, str, Toast.LENGTH_LONG).show();
        }
        else
        {
          Toast.makeText(wifi.this, str, Toast.LENGTH_SHORT).show();
        }
      }
      
      @Override
      protected void onResume()
      {
        // TODO Auto-generated method stub
        
        /* 在onResume重写事件为取得打开程序当下WiFi的状态 */
        try
        {
          switch(mWiFiManager01.getWifiState())
          {
            /* WiFi已经在打开状态... */
            case WifiManager.WIFI_STATE_ENABLED:
              mTextView01.setText
              (
                getResources().getText(R.string.str_wifi_enabling)
              );
              break;
            /* WiFi正在打开过程中状态... */
            case WifiManager.WIFI_STATE_ENABLING:
              mTextView01.setText
              (
                getResources().getText(R.string.str_wifi_enabling)
              );
              break;
            /* WiFi正在关闭过程中... */
            case WifiManager.WIFI_STATE_DISABLING:
              mTextView01.setText
              (
                getResources().getText(R.string.str_wifi_disabling)
              );
              break;
            /* WiFi已经关闭 */
            case WifiManager.WIFI_STATE_DISABLED:
              mTextView01.setText
              (
                getResources().getText(R.string.str_wifi_disabled)
              );
              break;
            /* 无法取得或识别WiFi状态 */
            case WifiManager.WIFI_STATE_UNKNOWN:
            default:
              mTextView01.setText
              (
                getResources().getText(R.string.str_wifi_unknow)
              );
              break;
          }
        }
        catch(Exception e)
        {
          mTextView01.setText(e.toString());
          e.getStackTrace();
        }
        super.onResume();
      }
      
      @Override
      protected void onPause()
      {
        // TODO Auto-generated method stub
        super.onPause();
      }
    }


    <?xml version="1.0" encoding="utf-8"?>
    <manifest
      xmlns:android="http://schemas.android.com/apk/res/android"
      package="irdc.wifi"
      android:versionCode="1"
      android:versionName="1.0.0">
      <application
        android:icon="@drawable/icon"
        android:label="@string/app_name">
        <activity
          android:name="irdc.wifi.wifi"
          android:label="@string/app_name">
          <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
          </intent-filter>
        </activity>
      </application>
      <!-- 声明WIFI以及网络等相关权限 -->
      <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"></uses-permission>
      <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"></uses-permission>
      <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>
      <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission>
      <uses-permission android:name="android.permission.INTERNET"></uses-permission>
      <uses-permission android:name="android.permission.WAKE_LOCK"></uses-permission>
    </manifest> 


    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout
      xmlns:android="http://schemas.android.com/apk/res/android"
      android:background="@drawable/white"
      android:orientation="vertical"
      android:layout_width="fill_parent"
      android:layout_height="fill_parent"
      >
      <TextView
        android:id="@+id/myTextView1"
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content"
        android:textColor="@drawable/blue"
        android:text="@string/hello"
      />
      <CheckBox
        android:id="@+id/myCheckBox1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/str_checked"
        android:textColor="@drawable/blue"
      />
    </LinearLayout>
    













  • 相关阅读:
    Go语言
    Go语言
    electron-builder vue3 用户自定义安装目录
    提取页面中的style标签内容
    px2rpx | px转rpx
    js EventBus
    select 下拉选择多个值
    keep-alive页面缓存
    js适配移动端页面
    vue日常问题记录
  • 原文地址:https://www.cnblogs.com/flyingsir/p/3983740.html
Copyright © 2011-2022 走看看