首页 > 其他分享 >Android 扫描WiFi

Android 扫描WiFi

时间:2023-08-23 16:13:52浏览次数:29  
标签:Toast String permission WiFi 扫描 PERMISSION wifiManager Android permissions

代码:

public class MainActivity extends AppCompatActivity {

    String Tag = "MainActivity";
    final int PERMISSION_REQUEST_CODE = 1;
    String [] permission = new String[]{Manifest.permission.ACCESS_FINE_LOCATION};
    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        setContentView(R.layout.main);
        if (Build.VERSION.SDK_INT>Build.VERSION_CODES.O){
            if (!hasPermissionsGranted(permission)) {
                ActivityCompat.requestPermissions(this,permission , PERMISSION_REQUEST_CODE);
            }
        }

        WifiManager wifiManager = getSystemService(WifiManager.class);
        boolean b = wifiManager.startScan();
        Log.e("longjiang", "wifiManager.startScan " + b);
        for (ScanResult scanResult : wifiManager.getScanResults()) {
            Log.e("longjiang", scanResult.toString());
        }

    }
    public boolean hasPermissionsGranted(@NonNull String[] permissions) {
        for (String permission : permissions) {
            if (ActivityCompat.checkSelfPermission(this, permission)
                    != PackageManager.PERMISSION_GRANTED) {
                return false;
                //此时没有授权,返回false
            }
        }
        return true;
        //已经授权过,返回true
    }

    @Override
    public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {

        Log.d(Tag,"-------onRequestPermissionsResult--------");
        if (requestCode == PERMISSION_REQUEST_CODE) {
            if (!hasPermissionsGranted(permissions)) {//返回false代表申请失败
                Toast.makeText(this, "授权失败", Toast.LENGTH_SHORT).show();
                this.finish();
            }else {
                Toast.makeText(this, "授权成功", Toast.LENGTH_SHORT).show();
            }
        } else {
            super.onRequestPermissionsResult(requestCode, permissions, grantResults);
        }
    }
}

权限:

 <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>

 

   

标签:Toast,String,permission,WiFi,扫描,PERMISSION,wifiManager,Android,permissions
From: https://www.cnblogs.com/wanglongjiang/p/17651935.html

相关文章

  • adb 命令查看 Android设备分辨率
    #查看机器分辨率adbshellwmsize#查看机器详细的分辨率adbshelldumpsyswindowdisplays result:¥adbshelldumpsyswindowdisplaysDumptime:2023-08-2303:54:43.075WINDOWMANAGERDISPLAYCONTENTS(dumpsyswindowdisplays)Display:mDisplayId=2init=......
  • android 插件编写
    android插件编写一般用IntelliJIDEA基本的插件编写流程不做赘述,本文主要记录编写插件的UI交互弹框,以及在指定目录下生成具体的类,并且将指定的代码写入到类文件里1、首选创建对应的Action类如 SecondActionClassName这个类并将其注册到plugin.xml中,设置其触发的为位置以及快......
  • Android入门教程之Activity(生命周期,启动...)
    Activity是一个应用组件,用户可与其提供的屏幕进行交互,以执行拨打电话、拍摄照片、发送电子邮件或查看地图等操作。每个Activity都会获得一个用于绘制其用户界面的窗口。窗口通常会充满屏幕,但也可小于屏幕并浮动在其他窗口之上。Activity1.Activity的使用我们新建的工程中带有......
  • Android面试:加班才能将事情做到最好?我不配
    昨天,我面试了一家公司,价值观的冲突让我感到不安。面试官在技术方面非常出色,他可能是一个完美主义者,无论面对什么问题,他似乎都能找到解决方案。我被他的能力所震撼,感到有些无所适从。然而,我无法认同的是,面试官将加班视为理所当然。他甚至表示,有些人希望将事情做得更好,自愿加班。这个......
  • Android并发编程高级面试题汇总(含详细解析 七)
    Android并发编程高级面试题汇总最全最细面试题讲解持续更新中......
  • Android 恢复出厂设置、跳过开机向导、wifi扫描界面筛选显示 的代码实现
    恢复出厂设置://APK侧Log.d(TAG,"exeRecovery");StringtimeStamp=DateFormat.format("yyyy-MM-ddTHH:mm:ssZ",System.currentTimeMillis()).toString();StringlocaleArg="--locale="+Locale.getDefault().toLa......
  • 如何使用Android访问文件系统路径
    Android中获取文件路径的方法:使用Context)方法:Android中获取文件路径的方法:1.使用Context.getFilesDir()方法:该方法返回的是一个File对象,它指向应用的私有文件目录,比如/data/data//files,可以通过该方法获取到应用的文件路径。代码示例:StringfilePath=getApplicationConte......
  • 零基础学Android,通俗易懂的Android教程
    前言对于一个想要入门Android的新手同学来说最重要的就是找对入门的学习路线,那样可以少走很多弯路,今天,小编就来和大家唠唠Android入门的学习方法。首先,一定要有一定的JAVA基础。我们都知道AndroidSDK是基于JAVA开发的,也是用的JAVA语言,比如在Android中要使用到的接口、继承、覆盖......
  • Android之获取DNS,优先返回本地网络DNS(插网线),其次选择Wifi网络的DNS
    code参考:https://www.cnblogs.com/alex-zhao/p/5254624.html/***获取DNS,优先返回本地网络DNS(插网线),其次选择Wifi网络的DNS**/publicstaticStringgetLocalDNS(Contextcontext){StringTAG="WiFiUtil_getLocalDNS";ProcesscmdProce......
  • 让Android Studo 不编译某个Java文件
    有时为了调试,让某些文件暂时不需编译,这样可以排除错误带来的无法运行情况,可以在build.gradle中加入:excludes=['com.coolweather.myble/AddrInterceptor.java'],如下compileOptions{sourceCompatibilityJavaVersion.VERSION_1_8targetCompatibilityJavaVers......