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();
}
});
有时候它运行得很好,有时候每次点击我的按钮发现同行时,它会花费超过半小时的错误。我将以大致相同的速率获得BUSY(2)和ERROR(0)结果。
我还没有找到为什么我会得到这些结果,如果我只是要和他们一起生活。我的平板电脑是运行Android 4.3的Nexus 7。
问题:
我可以期待其他设备一样片状吗? 我能做些什么来改善他们的行为吗? 我可以做些什么来弄清楚更多细节而不是"忙碌"或"错误"? LOGCAT似乎没有帮助......
编辑:我的意思是我有两款平板电脑,两款都是Nexus 7s。
答案 0 :(得分:0)
您可以将discoverPeers
方法放在递归循环中。
private void discoverPeersTillSuccess() {
manager.discoverPeers(channel, new WifiP2pManager.ActionListener() {
@Override
public void onSuccess() {
// remaining code
}
@Override
public void onFailure(int reasonCode) {
discoverPeersTillSuccess();
}
}
}
这将继续尝试discoverPeers
,直到它成功返回。