【问题标题】:WIFI P2P REMOVE GROUPWIFI P2P 删除组
【发布时间】:2016-09-05 13:10:09
【问题描述】:

我想从一台设备一个接一个连接到不同的设备。所以我要做的是检查我的设备是否已连接if(myDevice.status == 0),如果是,我删除组manager.removeGroup(channel, new ActionListener()

这里的问题是,在这样做了几次之后,方法 removeGroup() 转到 onFailure() 并出现以下错误:Disconnect failed. Reason :2 表示“忙”。

如何阻止框架忙碌?是否有任何适当的方法断开两台设备之间的连接,以便毫无问题地开始与另一台设备的新连接?

【问题讨论】:

    标签: android wifi-direct wifip2p


    【解决方案1】:

    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();
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多