Fur*_*ous 4 android p2p wifi-direct wifip2p
我试图使用下面的代码直接在wifi中停止对等体发现.
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");
}
});
}
Run Code Online (Sandbox Code Playgroud)
我能够在日志中看到成功消息(停止对等点发现).但其他设备仍然能够在同行发现中查看它.我在这里做错了吗?请指教.谢谢
这不是问题.其实你解释onSuccess错了.这onSuccess并不意味着对等发现已经停止,而是意味着您的请求已成功发送到负责上述调用的硬件/框架,它将异步停止发现并让您知道(如前所述).同样,它的失败只是告诉你的调用没有成功到达框架.
您需要为WIFI_P2P_DISCOVERY_CHANGED_ACTION意图注册BroadcastReceiver .正如您可以在文档中看到的那样,额外的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
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1655 次 |
| 最近记录: |