所以我一直在使用 WiFi Direct 很长一段时间,在整个过程中,我一直被连接问题所困扰。自从更新到 4.1 后,不再有打开和关闭 WiFi Direct 的硬按钮,我似乎总是与连接不一致。对于我的使用,我不需要找到对等点,只需从早期交互中存储的设备地址连接到对等点。有时设备会立即连接,有时第二台设备不会收到邀请,有时第一台设备会被卡住,试图无限期地发送邀请。下面是我的连接代码,它非常简单,所以我不确定出了什么问题。任何帮助,将不胜感激!非常感谢你。
WifiP2pConfig config = new WifiP2pConfig();
SlideMenuItem item = sideMenu.getItem(itemId);
config.deviceAddress = item.label;
config.wps.setup = WpsInfo.PBC;
if (progressDialog != null && progressDialog.isShowing()) {
progressDialog.dismiss();
}
progressDialog = ProgressDialog.show(mContext, "Press back to cancel",
"Connecting to :" + item.label, true, true);
manager.connect(channel, config, new ActionListener() {
@Override
public void onSuccess() {
// WiFiDirectBroadcastReceiver will notify us. Ignore for now.
}
@Override
public void onFailure(int reason) {
Toast.makeText(mContext, "Connect failed. Retry.", Toast.LENGTH_SHORT).show();
}
});
@Override
public void onConnectionInfoAvailable(WifiP2pInfo arg0) {
// TODO Auto-generated method stub
if (progressDialog != null && progressDialog.isShowing()) {
progressDialog.dismiss();
}
Toast.makeText(this, "Succesfully connected.", Toast.LENGTH_SHORT).show();
}