我已使用WifiP2pManager“createGroup()”方法成功设置了Android点对点Wifi-Direct组。我的Android(4.2.2)设备被配置为组所有者。现在我需要为我想要连接的传统wifi对等设备设置adid通信的SSID和密码。
Android似乎设置了默认的SSID和密码,我可以使用WifiP2pGroup“getNetworkname()”和“getPassphrase()”方法读取这些值。我可以使用这些值,但我想在我的代码中动态设置值,以匹配我想连接的传统wifi设备的值。
如果您查看WifiP2pGroup的安卓代码,请列出:
你可以看到公共方法“setNetworkName()”和“setPassphrase()”确实存在。但是,如果我尝试在我的Android设备上的java代码中引用这些方法,我会收到错误消息:
“方法setNetworkName(String)未定义类型WifiP2pGroup”和
“方法setPassphrase(String)未定义类型WifiP2pGroup”。
我的问题是:我如何访问Android 4.2.2操作系统中存在的这些隐藏方法作为WifiP2pGroup的公共方法?
除了使用这些方法之外,还有其他方法可以设置SSID和密码短语吗?
此外,他们为什么选择隐藏这些方法,您是否知道它们是否会在未来的Android版本中提供?如果是这样,哪个版本?
感谢您提供任何帮助。
答案 0 :(得分:3)
您可以使用反射java。
让我们假设WifiP2pGroup将您当前的对象分组。
方法setPassPhraseMethod = group.getClass()。getMethod(" setPassphrase",new Class [{String.class}); 现在你调用方法:
setPassPhraseMethod.invoke(group," yourNewPassPrhase");
答案 1 :(得分:1)
您只能使用WifiP2pManager
http://developer.android.com/reference/android/net/wifi/p2p/WifiP2pManager.html
您所指的API是用于重新创建持久群组的内部API。