作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我尝试使用以下代码停止 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/
我是一名优秀的程序员,十分优秀!