当我尝试使用WifiP2pManager
的{{1}}或createGroup
时,在我的两个设备上,我获得了removeGroup
回调,其中2(忙)为{{1} }。
我尝试使用此处提供的建议WifiP2pManager return BUSY state on CreateGroup(在创建新组之前删除组),但它没有帮助,因为我总是得到onFailure
reason
中的回调。
我测试的设备:LG Optimus G(CM 12.1 - Android 5.1),技嘉GSmart Guru G1(股票Android 4.2)。
更新
代码是:
onFailure
答案 0 :(得分:1)
我收到此错误是因为当群组不存在时我尝试使用removeGroup
。解决方案是在删除当前组或创建新组之前检查当前组是否存在。
这是工作代码(我使用Retrolambda):
manager.requestGroupInfo(channel, group -> {
if (group != null) {
Debug.d("group != null");
manager.removeGroup(channel, new WifiP2pManager.ActionListener() {
@Override
public void onSuccess() {
Debug.d();
manager.createGroup(channel, new WifiP2pManager.ActionListener() {
@Override
public void onSuccess() {
Debug.d();
}
@Override
public void onFailure(int reason) {
Debug.d("" + reason);
}
});
}
@Override
public void onFailure(int reason) {
Debug.d("" + reason);
}
});
} else {
manager.createGroup(channel, new WifiP2pManager.ActionListener() {
@Override
public void onSuccess() {
Debug.d();
}
@Override
public void onFailure(int reason) {
Debug.d("" + reason);
}
});
}
});
答案 1 :(得分:0)
@ Dr.Jukka评论说:关闭wifi后,也会导致BUSY状态。至少在我的情况下。