Android和WiFi Direct - 连接问题

时间:2012-11-15 00:41:06

标签: android wifi wifi-direct

所以我在很长一段时间内一直在使用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();
}

2 个答案:

答案 0 :(得分:5)

我有4.0和4.1设备,据我所知,4.0可以选择切换Wi-Fi Direct,因为它始终打开4.1。人们没有意识到这一点的原因是因为4.0上的Wi-Fi Direct需要关闭常规Wifi。稍后,在4.1中,启用常规Wifi功能可实现“永远在线”的Wi-Fi Direct。

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

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

答案 1 :(得分:-8)

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