美文网首页
通过反射获取与设置热点信息

通过反射获取与设置热点信息

作者: 100个大西瓜 | 来源:发表于2021-12-01 16:25 被阅读0次

适用于AndroidN 7.1.1,其他版本未验证
使用前记得先获取属性,访问网络,修改设备网络
1.获取热点开启状态


    @SuppressLint("PrivateApi")
    public boolean getHotspotEnable() {
        try {
            final Method methodIsWifiApEnabled = mWifiManager
                    .getClass()
                    .getDeclaredMethod("isWifiApEnabled");
            return (Boolean) methodIsWifiApEnabled.invoke(mWifiManager);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return false;
    }

2.获取热点信息,如果未设置可能为空

    @Nullable
    private WifiConfiguration getWifiApConfiguration() {
        try {
            final Method method = mWifiManager.getClass().getMethod(
                    "getWifiApConfiguration");
            return (WifiConfiguration) method.invoke(mWifiManager);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }

3.设置热点

    /**
     * apConfig.allowedKeyManagement.set(4): WifiConfiguration.WPA2_PSK = 4;
     *
     * @param name     热点名称
     * @param password 热点密码
     * @return 热点信息
     */
    private WifiConfiguration createApWifiConfiguration(String name, String password) {
        final WifiConfiguration apConfig = new WifiConfiguration();
        apConfig.SSID = name;
        apConfig.preSharedKey = password;
        apConfig.allowedKeyManagement.set(4);
        return apConfig;
    }

    /**
     * 设置热点
     *
     * @param apConfig 热点信息,包括了名称和密码
     * @param enable   true:开启;false关闭
     * @return true:设置成功;false:设置失败
     */
    private boolean toggleHotspotInfo(WifiConfiguration apConfig, boolean enable) {
        try {
            //通过反射调用设置热点
            final Method method = mWifiManager.getClass().getMethod(
                    "setWifiApEnabled", WifiConfiguration.class, Boolean.TYPE);
            return (Boolean) method.invoke(mWifiManager, apConfig, enable);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return false;
    }

相关文章

  • 通过反射获取与设置热点信息

    适用于AndroidN 7.1.1,其他版本未验证使用前记得先获取属性,访问网络,修改设备网络1.获取热点开启状态...

  • Java反射基础

    使用反射获取类的信息 反射获取类的信息是通过Class类获取的,常用方法: String getName() 获...

  • Java反射和IO流知识点很基础,你真的融会贯通吗???

    反射 1. 概念 官方解释:反射是指在程序运行过程中,动态的获取类的信息,并且访问 我们通过反射还是获取类的信息(...

  • Java 学习基础篇 ---- Java反射与泛型

    一、反射 通过Class实例获取 class 信息的方法称为反射(Reflection)。 (一) Class 类...

  • java 反射学习笔记(四)反射的基本操作和用法

    反射的基本操作和用法: 通过反射获取该类的属性;通过反射获取该类的方法;通过反射获取该类的构造方法; 在通过反射获...

  • java 反射

    1. 什么是反射操作 通过Class实例获取class信息的方法称为反射(Reflection),反射的目的是为了...

  • go语言反射reflection

    反射:可以在运行时动态获取变量的相关信息 go语言中通过reflect包操作反射 获取基本类型 例子: 输出结果:...

  • 2020-07-23反射、获得构造方法

    反射概述 java反射机制:是指在运行时去获取一个类的变量和方法信息。然后通过获取到的信息来创建对象,调用方法的一...

  • java反射和动态代理

    java反射 反射是程序运行时,通过反射直接操作对象或者类。获取类声明的属性和方法,调用方法或者构造对象,设置修改...

  • java 反射-类

    使用java反射机制可以在运行时期(runtime)检查java类的信息,通过获取类的信息你可以获取以下信息:1....

网友评论

      本文标题:通过反射获取与设置热点信息

      本文链接:https://www.haomeiwen.com/subject/lrwsxrtx.html