从WifiP2pDeviceList获取WifiP2pDevice信息

时间:2014-10-23 04:53:27

标签: android p2p android-wifi wifi-direct

我正在开发一个Android应用程序,它使用wifi-direct在两个Android设备之间发送数据。所以我能够在onPeersAvailable方法中获取检测到的设备。 (下面给出的代码)

@Override
public void onPeersAvailable(WifiP2pDeviceList peers) {

                        peersdevices.clear();
                        peersdevices.addAll(peers.getDeviceList());

}

现在我想在列表视图中显示设备名称。我不知道如何从WifiP2pDevice访问每个WifiP2pDeviceList信息。

当我使用官方文档中的以下代码(如下所示)时,我收到错误“无法从Object转换为WifiP2pDevice”。

WifiP2pDevice device = peers.get(0);

如果有人提供代码片段以从WifiP2pDeviceList获取WifiP2pDevice信息,我将不胜感激。

由于

2 个答案:

答案 0 :(得分:2)

这样做。

for(i=0;i<WifiP2pDeviceList.size();i++){
    WifiP2pDevice device = WifiP2pDeviceList.get(i);
    String deviceName=device.deviceName;
    String devicestatus=device.status;
    //so on
    }

希望有所帮助

答案 1 :(得分:2)

                    @Override
                    public void onPeersAvailable(WifiP2pDeviceList peers) {

                        // DO WHATEVER YOU WANT HERE

                     for (  WifiP2pDevice peer : peers.getDeviceList()) {
                        WifiP2pDevice device=peer;
                        //here get the device info
                        String deviceaddr= device.deviceAddress;

                        if(device.deviceAddress.equals("somedevice")){
                            Toast.makeText(ctx, "Server  Name "+device.deviceName,Toast.LENGTH_LONG).show();
                            WifiP2pConfig config = new WifiP2pConfig();
                            config.deviceAddress = device.deviceAddress;
                         }

                     }
                    }