我已经使用 WifiP2pManager 的“createGroup()”方法成功设置了一个 Android 点对点 Wifi-Direct 组。我的 Android (4.2.2) 设备被配置为组所有者。现在我需要设置 SSID 和密码,以便与我想要连接的旧版 wifi 对等设备进行临时通信。
Android 似乎设置了默认的 SSID 和密码短语,我可以使用 WifiP2pGroup 的“getNetworkname()”和“getPassphrase()”方法读取这些值。我可以使用这些值,但我想改为在我的代码中动态设置这些值,以匹配我想要连接到的旧版 wifi 设备的值。
如果您查看 WifiP2pGroup 的 android 代码,列在:
您可以看到公共(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/