WiFi

来源:互联网 发布:em getsel vb 编辑:程序博客网 时间:2024/05/16 18:09

package com.example.admin.demo_wifi;

 

import android.Manifest;

import android.content.Context;

import android.content.pm.PackageManager;

import android.net.wifi.ScanResult;

import android.net.wifi.WifiManager;

import android.support.annotation.NonNull;

import android.support.v4.app.ActivityCompat;

import android.support.v4.content.ContextCompat;

import android.support.v7.app.AppCompatActivity;

import android.os.Bundle;

import android.view.View;

import android.widget.ArrayAdapter;

import android.widget.Button;

import android.widget.ListView;

import android.widget.Toast;

 

import java.util.ArrayList;

import java.util.List;

 

public class MainActivityextends AppCompatActivity {

 

    private Button open;

    private Button close;

    private Button scan;

    private ListView list_view;

 

    @Override

    protectedvoid onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

        //找控件

        open = (Button) findViewById(R.id.open);

        close = (Button) findViewById(R.id.close);

        scan = (Button) findViewById(R.id.scan);

        list_view = (ListView) findViewById(R.id.list_view);

        //打开wifi

        open.setOnClickListener(new View.OnClickListener() {

            @Override

            publicvoid onClick(View view) {

                //得到wifi的管理器

                WifiManager manager = (WifiManager) getApplicationContext().getSystemService(Context.WIFI_SERVICE);

                //判断WIFI是否打开

                if (!manager.isWifiEnabled()) {//关闭状态

                    //打开wifi

                    manager.setWifiEnabled(true);

                }

            }

        });

//关闭WIFI

        close.setOnClickListener(new View.OnClickListener() {

            @Override

            publicvoid onClick(View view) {

                //得到WIFI的管理器

                WifiManager manager = (WifiManager) getApplicationContext().getSystemService(Context.WIFI_SERVICE);

                //判断WIFI是否打开

                if (manager.isWifiEnabled()) {//打开状态

                    //关闭WIFI

                    manager.setWifiEnabled(false);

                }

            }

        });

//扫描WIFI

        scan.setOnClickListener(new View.OnClickListener() {

            @Override

            publicvoid onClick(View view) {

                //1:监测权限是否被用户授权

                if (ContextCompat.checkSelfPermission(MainActivity.this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED) {

//打开一个对话框,让用户进行授权。

                    ActivityCompat.requestPermissions(MainActivity.this,new String[]{Manifest.permission.ACCESS_FINE_LOCATION},1);

 

                } else {

                    scanWifi();

                }

            }

        });

 

    }

    @Override

        publicvoid onRequestPermissionsResult(int requestCode,@NonNull String[] permissions,@NonNull int[] grantResults) {

            if(requestCode==1){

                if(grantResults!=null && grantResults[0]==PackageManager.PERMISSION_GRANTED){

                        scanWifi();

                }else{

                    Toast.makeText(MainActivity.this,"用户拒绝授权!",Toast.LENGTH_SHORT).show();

                }

            }

    }

 

    //扫描WIFI的方法。

    privatevoid scanWifi() {

        //得到WIFI的管理类

        WifiManager manager = (WifiManager) getApplicationContext().getSystemService(Context.WIFI_SERVICE);

        //直接扫描

        boolean b = manager.startScan();

        if (b) {

            //得到扫描的结果

            List<ScanResult> results = manager.getScanResults();

            List<String> datas = new ArrayList<String>();

            for (int i =0; i < results.size(); i++) {

                datas.add(results.get(i).SSID);

            }

//构造适配器

 

            ArrayAdapter<String> adapter=new ArrayAdapter<String>(MainActivity.this, android.R.layout.simple_list_item_1,datas);

            list_view.setAdapter(adapter);

        }

    }

}


原创粉丝点击