我正在开发一个点对点的Android游戏。为此,我使用Wi直接来建立两个设备之间的连接。我能建立起这种联系。我已经跟踪了Google文档来建立连接。
问题:用户A可以向用户B发送连接请求。用户B通过接受或拒绝该请求来响应该请求。当用户B拒绝连接请求时,用户A无法获得对连接请求的任何响应。
为了解决这个问题,每当用户A向用户B发送请求时,我已经在用户A的端(发送者)启动了20秒计时器。此外,当连接请求到达时,我希望在用户B的末尾启动计时器。现在,我无法弄清楚如何在请求到达时在接收端启动定时器。
问题:
发布于 2017-02-12 10:43:07
private void connect(int position, final String name) {
Toast.makeText(this,"connecting "+name,Toast.LENGTH_LONG).show();
final WifiP2pDevice device=peers.get(position);
WifiP2pConfig config = new WifiP2pConfig();
config.deviceAddress = device.deviceAddress;
mManager.connect(mChannel, config, new WifiP2pManager.ActionListener() {
@Override
public void onSuccess() {
Toast.makeText(getBaseContext(),"connected to "+ device.deviceName,Toast.LENGTH_LONG).show();
isConnected=1;
mDiscover.setText("disconnect");
//success logic
}
@Override
public void onFailure(int reason) {
Toast.makeText(getBaseContext(),"Error :"+ reason,Toast.LENGTH_LONG).show();
//failure logic
}
});
}如果请求被拒绝或陷入比onFaliure更大的错误,此方法将与对等点连接,将使用原因代码调用该方法。
https://stackoverflow.com/questions/41910123
复制相似问题