gpt4 book ai didi

android - 如何在 WifiDirect Android 中停止对等点发现

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:36:35 26 4
gpt4 key购买 nike

我尝试使用以下代码停止 wifi direct 中的对等点发现。

public void StopPeerDiscovery(){
manager.stopPeerDiscovery(channel, new ActionListener() {
@Override
public void onSuccess() {
Log.d(WiFiDirectActivity.TAG,"Stopped Peer discovery");
}

@Override
public void onFailure(int i) {
Log.d(WiFiDirectActivity.TAG,"Not Stopped Peer discovery");
}
});
}

我能够在日志中看到成功消息(已停止对等发现)。但是其他设备仍然能够在对等发现中查看它。我在这里做错了什么吗?请指教。谢谢

最佳答案

这不是问题。实际上,您将此 onSuccess 解释错了。此 onSuccess 不会告诉您对等发现已停止,而是表示您的请求已成功发送到负责上述调用的硬件/框架,它将异步停止发现并让您知道(如前所述)。同样,它的失败只是说明您的调用没有成功到达框架。

您需要为 WIFI_P2P_DISCOVERY_CHANGED_ACTION 注册一个 BroadcastReceiver Intent 。正如您在文档中看到的那样,额外的是 EXTRA_DISCOVERY_STATE让您知道对等发现的发现是否已停止。

if (WifiP2pManager.WIFI_P2P_DISCOVERY_CHANGED_ACTION.equals(intent.getAction()))
{
int state = intent.getIntExtra(WifiP2pManager.EXTRA_DISCOVERY_STATE, 10000);
if (state == WifiP2pManager.WIFI_P2P_DISCOVERY_STARTED)
{
// Wifi P2P discovery started.
}
else
{
// Wifi P2P discovery stopped.
// Do what you want to do when discovery stopped
}
}

关于android - 如何在 WifiDirect Android 中停止对等点发现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31439508/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com