android - wifi 直接结束连接到 Android 上的对等体?

标签 android wifi-direct service-discovery

有什么方法可以终止通过 Wifi-Direct 与对等点的连接吗? 我尝试了 cancelConnect 和 removeGroup。两人都回来了 忙?谢谢。

最佳答案

这是我用来与对等方断开连接的方法。我从日志中注意到,android 内置应用程序也使用相同的方法断开对等点的连接。

public static void disconnect() {
    if (mManager != null && mChannel != null) {
        mManager.requestGroupInfo(mChannel, new GroupInfoListener() {
            @Override
            public void onGroupInfoAvailable(WifiP2pGroup group) {
                if (group != null && mManager != null && mChannel != null) {
                    mManager.removeGroup(mChannel, new ActionListener() {

                        @Override
                        public void onSuccess() {
                            Log.d(TAG, "removeGroup onSuccess -");
                        }

                        @Override
                        public void onFailure(int reason) {
                            Log.d(TAG, "removeGroup onFailure -" + reason);
                        }
                    });
                }
            }
        });
    }
}

编辑 1/12/2020:从 if 语句中删除了 isGroupOwner()。这允许非所有者设备使用相同的方法断开连接。

当非所有者断开连接时,新的 WifiP2pInfo 将显示:

groupFormed: false isGroupOwner: false groupOwnerAddress: null

您可以从以下位置找到您的 WifiP2pInfo:

(1) 注册一个监听WIFI_P2P_CONNECTION_CHANGED_ACTION的广播接收器并从额外的EXTRA_WIFI_P2P_INFO获取WifiP2pInfo

(2) 通过调用WifiP2pManager#requestConnectionInfo

关于android - wifi 直接结束连接到 Android 上的对等体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18679481/

相关文章:

android - Google Nearby 和 onPayloadTransferUpdate 频率中的传入文件负载感知

dns - Kubernetes 多集群服务发现

android - 有什么方法可以在您的网络上发现 Android 设备?

微服务。服务注册和服务发现有什么区别

android - React Native - 页脚按钮

android - 如何以编程方式在 Android 应用程序中显示当前的 Git 分支?

java - 更改 RecyclerView Android Java 中显示的 ArrayList

android - 在 Http Live Streaming Android 3.0+ 中获取当前日期

wifi - WIFI直连和WIFI站可以同时工作吗?

java - WifiP2pGroup - 重新启动持久组?