4

所以我一直在使用 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();
}
4

2 回答 2

5

我有 4.0 和 4.1 设备,据我所知,4.0 可以选择打开 Wi-Fi Direct,因为在 4.1 中它始终处于打开状态。人们没有意识到这一点的原因是因为 Wi-Fi Direct 4.0 要求关闭常规 Wifi。后来,在 4.1 中,启用常规 Wifi 是启用“始终在线”Wi-Fi Direct 的原因。

所以 TL;DR 版本:如果找不到 Wi-Fi Direct 选项,请打开常规 WiFi。

不是100%,但我希望它有所帮助。

于 2013-07-18T12:38:18.203 回答
-8

为什么不使用 WiFi 拍摄?您只需打开 WiFi,当您进行 WiFi 拍摄时,它会自动显示 WiFi Direct 已打开。要发送文件,只需按住文件并选择发送。将出现一个选项,“WiFi 拍摄”。这个应用程序将直接通过 WiFi 发送。

于 2013-08-16T18:12:27.300 回答