我想从一个设备连接到不同的设备一个接一个。所以我要做的是检查我的设备是否已连接 if(myDevice.status == 0)
如果是,我删除组 manager.removeGroup(channel, new ActionListener()
.
这里的问题是,在执行此操作几次后,方法 removeGroup() 转到 onFailure() 并出现此错误:断开连接失败。 Reason :2
意思是“忙”。
如何阻止框架忙碌?是否有任何正确的方法来断开两台设备之间的连接,以便毫无问题地开始与另一台设备的新连接?
最佳答案
Wifi P2p 每次创建新组时都会创建一个持久组。所以只是 removeGroup() 是行不通的。您将不得不使用 DeletePersistantGroup 方法(隐藏)。使用反射调用此方法:
private void deletePersistentGroups(){
try {
Method[] methods = WifiP2pManager.class.getMethods();
for (int i = 0; i < methods.length; i++) {
if (methods[i].getName().equals("deletePersistentGroup")) {
// Delete any persistent group
for (int netid = 0; netid < 32; netid++) {
methods[i].invoke(manager, channel, netid, null);
}
}
}
} catch(Exception e) {
e.printStackTrace();
}
}
关于android - WIFI P2P 删除组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39331337/