Java 32-如何克服Android中Wi-Fi Direct 32对凭据的限制?
见-> 这本质上限制了我可以在一个Wi-Fi直接“云”中连接的设备数量 这个问题源于网站上的答案和评论Java 32-如何克服Android中Wi-Fi Direct 32对凭据的限制?,java,android,android-wifi,wifi-direct,Java,Android,Android Wifi,Wifi Direct,见-> 这本质上限制了我可以在一个Wi-Fi直接“云”中连接的设备数量 这个问题源于网站上的答案和评论 这个问题不是“如何”连接多个设备的问题,例如在中找到的设备。凭证\u MAX\u NUM是对WifiP2pGroup列表将存储的WifiP2pGroup对象数量的限制。这并不是对单个Wi-Fi Direct组成员的设备数量的限制-理论上这是受组的IP地址范围限制的。它是设备中可存储和使用的持久组数量的界限 WifiP2pGroupList由Wi-Fi P2P服务实例化,并由wpa_请求者填充
这个问题不是“如何”连接多个设备的问题,例如在
中找到的设备。凭证\u MAX\u NUM
是对WifiP2pGroup列表
将存储的WifiP2pGroup
对象数量的限制。这并不是对单个Wi-Fi Direct组成员的设备数量的限制-理论上这是受组的IP地址范围限制的。它是设备中可存储和使用的持久组数量的界限
WifiP2pGroupList
由Wi-Fi P2P服务实例化,并由wpa_请求者填充,因此通过反射更改CREDENTIAL_MAX_NUM
的值不是解决方案,因为绑定可能从请求者继承,并且P2P服务驻留在系统服务器进程中
可以通过反射获取列表对象(为此,需要使用动态代理类来实现隐藏方法WifiP2pManager.PersistentGroupInfoListener
,然后通过IPC将其传递给系统服务),但它的使用受到限制-对于所有组,它都不包含凭据,因此,缓存以供将来使用是不可能的。对列表的修改将仅限于由WifiP2pManager
公开的方法提供的任何内容
总之,不可能修改凭证\u MAX\u NUM
,即使修改了,wpa\u请求者中也可能存在上限
private static final int CREDENTIAL_MAX_NUM = 32;