【问题标题】:Connecting android device using WiFi Direct使用 WiFi Direct 连接安卓设备
【发布时间】:2013-11-19 11:30:23
【问题描述】:

我正在开发一个应用程序,它首先发现范围内的对等点,然后将它们一个一个连接我的功能如下所示:

void connectTo(WifiP2pDevice device) {
        WifiP2pConfig config = new WifiP2pConfig();
        config.deviceAddress = device.deviceAddress;
        config.groupOwnerIntent=15;
        wifiP2pManager.connect(wifiDirectChannel, config, actionListener);
        wifiP2pManager.createGroup(wifiDirectChannel, actionListener);
      }

但是我不知道Wifip2pManager类的connect和createGroup函数的区别。它们之间的核心区别是什么,请帮助!

【问题讨论】:

    标签: java android p2p android-wifi wifi-direct


    【解决方案1】:

    我知道我回答迟了,但我相信它会帮助其他人。不需要createGroup,只需要这样调用connect方法即可:

    void connectTo(WifiP2pDevice device) {
                WifiP2pConfig wifiP2pConfig = new WifiP2pConfig();
                wifiP2pConfig.deviceAddress = device.deviceAddress;
                wifiP2pConfig.groupOwnerIntent = 0;
                wifiP2pConfig.wps.setup = WpsInfo.PBC;
    
                if (wifiP2pManager != null) {
    
                    wifiP2pManager.connect(mChannel, wifiP2pConfig,
                            new ActionListener() {
    
                                @Override
                                public void onSuccess() {
                                    // WiFiDirectBroadcastReceiver will notify us.
                                    // Ignore for now.
                                    Utility.showToast(
                                            WifiP2PConnectionActivity.this,
                                            Constants.CONNECTED);
    
                                }
    
                                @Override
                                public void onFailure(int reason) {
                                    Utility.showToast(
                                            WifiP2PConnectionActivity.this,
                                            getErrorMessage(reason));
    
                                }
                            });
    }
    

    它将立即连接。 wifiP2pConfig.groupOwnerIntent = 0;设置为零,以便您每次都允许其他设备成为所有者,而您自己的设备作为客户端。 groupOwnerIntent 将我们自己的设备优先级设置为低于成为 groupOwner 的优先级。休息取决于您希望设备的行为方式。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多