WiFi

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

 

    private Button open;

    private Button close;

    private Button scan;

    private ListView list_view;

 

    @Override

    protected void 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

            public void 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

            public void 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

            public void 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

        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();

                }

            }

    }

 

    //扫描WIFI的方法。

    private void 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);

        }

    }

}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
根据提供的引用内容,可以了解到Arduino可以通过ESP8266-01S模块实现WiFi功能。具体实现过程如下: 1. 接线:将ESP8266-01S模块与Arduino UNO连接,具体接线方式如下: - VCC -> 3.3V(注意负载多的时候供电需要外接) - GND -> GND - RX -> TX - TX -> RX - CH_PD -> 3.3V(如果使用ESP8266-01需要接10K上拉) 2. 下载并安装ESP8266库:在Arduino IDE中选择“工具”->“管理库”,搜索“ESP8266”,选择最新版本进行安装。 3. 编写代码:在Arduino IDE中编写代码,实现WiFi功能。以下是一个简单的WiFi连接示例代码: ```c++ #include <ESP8266WiFi.h> const char* ssid = "your_SSID"; const char* password = "your_PASSWORD"; void setup() { Serial.begin(115200); delay(10); // 尝试连接WiFi Serial.println(); Serial.print("Connecting to "); Serial.println(ssid); WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } Serial.println(""); Serial.println("WiFi connected"); Serial.println("IP address: "); Serial.println(WiFi.localIP()); } void loop() { // 程序循环体 } ``` 在代码中,首先需要包含ESP8266WiFi库。然后定义WiFi的SSID和密码。在setup()函数中,尝试连接WiFi,并等待连接成功。连接成功后,输出IP地址。在loop()函数中,可以编写具体的WiFi控制代码。 4. 上传代码:将代码上传到Arduino UNO板子中。 通过以上步骤,就可以实现Arduino WiFi功能了。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值