manager.discoverPeers(channel, new WifiP2pManager.ActionListener() {
@Override
public void onSuccess() {
Toast.makeText(WiFiDirectActivity.this, "Discovery Initiated",
Toast.LENGTH_SHORT).show();
}
@Override
public void onFailure(int reasonCode) {
Toast.makeText(WiFiDirectActivity.this, "Discovery Failed : " + reasonCode,
Toast.LENGTH_SHORT).show();
}
});
有时它工作得很好,有时它会花上半个多小时的错误,每次我点击我的按钮发现同行。我将以大约相同的速度得到繁忙(2)和错误(0)的结果。
我还没有弄清楚为什么我会得到这些结果,如果我不得不和他们一起生活的话。我的平板电脑是运行android 4.3的nexus 7。
问题:
我能指望其他设备也会同样不稳定吗?
我能做些什么来改善他们的行为吗?
除了“忙”或“出错”之外,我能做些什么来找出更多的细节吗?Logcat似乎帮不上忙…
编辑:我是说我有两个平板电脑,都是Nexus7S。
最佳答案
您可以将discoverPeers
方法放入递归循环中。
private void discoverPeersTillSuccess() {
manager.discoverPeers(channel, new WifiP2pManager.ActionListener() {
@Override
public void onSuccess() {
// remaining code
}
@Override
public void onFailure(int reasonCode) {
discoverPeersTillSuccess();
}
}
}
这将继续尝试
discoverPeers
,直到它返回成功。关于android - WifiDirect .discoverPeers经常忙或出错,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26000750/