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 MainActivity extends AppCompatActivity {

    private ListView listView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Button buttonOpen=findViewById(R.id.btn_open);
        Button buttonClose=findViewById(R.id.btn_close);
        Button buttonScan=findViewById(R.id.btn_scan);
        listView = findViewById(R.id.lv);

        //打开wifi
        buttonOpen.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {

                //得到wifi管理器
                WifiManager manager =(WifiManager) getApplicationContext().getSystemService(Context.WIFI_SERVICE);
                //1.判断wifi是否打开
                if(!manager.isWifiEnabled()){
                    //打开wifi
                    manager.setWifiEnabled(true);
                    Toast.makeText(MainActivity.this,"打开了wifi",Toast.LENGTH_LONG).show();
                }
            }
        });

        buttonClose.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                WifiManager manager =(WifiManager) getApplicationContext().getSystemService(Context.WIFI_SERVICE);
                if(manager.isWifiEnabled()){
                    //关闭wifi
                    manager.setWifiEnabled(false);
                    Toast.makeText(MainActivity.this,"关闭wifi",Toast.LENGTH_SHORT).show();
                }
            }
        });
        buttonScan.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                //获取精确位置的权限属于危险权限,android 5.0系统之后需要添加运行时权限
                //ACCESS_FINE_LOCATION
                //首先检查权限有没有被授权
                if(ContextCompat.checkSelfPermission(MainActivity.this, Manifest.permission.ACCESS_FINE_LOCATION)!= PackageManager.PERMISSION_DENIED){
                    //申请权限
                    ActivityCompat.requestPermissions(MainActivity.this,new String[]{Manifest.permission.ACCESS_FINE_LOCATION},1);
                }else{//已经被授权
                    scanWifi();
                }
            }
        });

    }

    @Override
    public void 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();
            }
        }
    }

    private void scanWifi() {
        WifiManager manager =(WifiManager) getApplicationContext().getSystemService(Context.WIFI_SERVICE);
        //开始扫描
        manager.startScan();
        //得到扫描的结果
        List<ScanResult> scanResults = manager.getScanResults();

        List<String> wifis=new ArrayList<>();
        if(scanResults!=null){//发现wifi网络
            for(int i=0;i<scanResults.size();i++){
                wifis.add(scanResults.get(i).SSID);//ssid代表当前wifi的名称
            }
            //设置适配器
            ArrayAdapter<String> adapter=new ArrayAdapter<String>(MainActivity.this,android.R.layout.simple_list_item_1,wifis);
            listView.setAdapter(adapter);
        }else{
            Toast.makeText(MainActivity.this,"未扫描到wifi",Toast.LENGTH_SHORT).show();
        }
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值