2

我只是在谷歌提供的WiFiDirectDemo上添加了两个按钮。其中一个按钮称为“所有者”,另一个称为“客户”。

我要选择哪两个设备,如果他们要成为所有者。

一开始,我认为如果我在0 和 15之间更改数字会起作用:

config.groupOwnerIntent = 0;

但它没有用。

其中一台设备充当组所有者。即使我更改了“groupOwnerIntent”。

这是我的代码( DeviceDetailFragment.java ):

mContentView.findViewById(R.id.btn_owner).setOnClickListener(
new View.OnClickListener() {
    @Override
    public void onClick(View v) {
    intentNumber = 15;
    Toast.makeText(v.getContext(),String.valueOf(intentNumber), 
          Toast.LENGTH_LONG).show();
    }
});

mContentView.findViewById(R.id.btn_client).setOnClickListener(
new View.OnClickListener() {
    @Override
public void onClick(View v) {
    intentNumber = 0;
    Toast.makeText(v.getContext(), String.valueOf(intentNumber), 
              Toast.LENGTH_LONG).show();
    }
});

//********************************************************************

    mContentView.findViewById(R.id.btn_connect)
                          .setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        //WifiP2pConfig config = chooseOwner(ownerIntentNumber);
        WifiP2pConfig config = new WifiP2pConfig();
    config.deviceAddress = device.deviceAddress;
    config.wps.setup = WpsInfo.PBC;
    config.groupOwnerIntent = intentNumber;
    Toast.makeText(v.getContext(), String.valueOf(intentNumber), 
                  Toast.LENGTH_LONG).show();
    }   
});

请给我一些建议。非常感谢。

我的设备是两个 Nexus 7。

4

2 回答 2

1

我只是遇到了同样的问题。

就我而言,这是因为Wi-Fi Direct设备记住了组。

在 Galaxy Nexus 中,我可以通过更改设置来忘记它

Setting-> Wi-Fi-> Wi-Fi Direct-> 选择记住的组 ->Forget

然后,我可以按照我的配置更改组所有者。

于 2013-06-12T19:39:14.633 回答
0

我犯的另一个常见错误:按下 Owner/Client 按钮(更改配置 groupownerintent 值)的设备必须通过按下连接按钮而不是其他设备来启动连接。

于 2015-03-06T14:59:03.010 回答