gpt4 book ai didi

java - Android 4.2.2 Wifi-Direct adhoc 网络——访问隐藏的 android 方法来设置 SSID 和密码?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:09:22 25 4
gpt4 key购买 nike

我已经使用 WifiP2pManager 的“createGroup()”方法成功设置了一个 Android 点对点 Wifi-Direct 组。我的 Android (4.2.2) 设备被配置为组所有者。现在我需要设置 SSID 和密码,以便与我想要连接的旧版 wifi 对等设备进行临时通信。

Android 似乎设置了默认的 SSID 和密码短语,我可以使用 WifiP2pGroup 的“getNetworkname()”和“getPassphrase()”方法读取这些值。我可以使用这些值,但我想改为在我的代码中动态设置这些值,以匹配我想要连接到的旧版 wifi 设备的值。

如果您查看 WifiP2pGroup 的 android 代码,列在:

http://android.googlesource.com/platform/frameworks/base/+/cd92588/wifi/java/android/net/wifi/p2p/WifiP2pGroup.java

您可以看到公共(public)方法“setNetworkName()”和“setPassphrase()”确实存在。但是,如果我尝试在我的 Android 设备上的 java 代码中引用这些方法,我会收到错误消息:

“方法 setNetworkName(String) 未为 WifiP2pGroup 类型定义”,并且

“未为 WifiP2pGroup 类型定义方法 setPassphrase(String)”。

我的问题是:如何访问这些存在于 Android 4.2.2 操作系统中的隐藏方法作为 WifiP2pGroup 的公共(public)方法?

除了使用这些方法之外,还有其他方法可以设置 SSID 和密码吗?

此外,他们为什么选择隐藏这些方法,您是否知道它们是否会在未来的 Android 版本中可用?如果有,是哪个版本?

感谢您提供的任何帮助。

最佳答案

你可以使用反射java。

让我们假设 WifiP2pGroup 将您当前的对象分组。

方法 setPassPhraseMethod=group.getClass().getMethod("setPassphrase", new Class[ {String.class});现在您调用该方法:

setPassPhraseMethod.invoke(group, "yourNewPassPrhase");

关于java - Android 4.2.2 Wifi-Direct adhoc 网络——访问隐藏的 android 方法来设置 SSID 和密码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21219474/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com