我正在React-native上开发Wifi Direct对等发现应用程序。我对检索onPeersAvailable()生成的对等列表有些困惑。当单击discoverPeers()按钮时,我应该如何编码以触发peerList返回(即代码上的var params)。
发现功能似乎运行良好,据我所知,我应该将生成的LIST传递给另一个函数,并且该函数(异步)将使LIST返回本机。但是,我只是暂时不知道该怎么做。如果您可以提供一些代码的骨架来做到这一点,那对我来说将是一个很大的帮助。
private WifiP2pManager.PeerListListener peerListListener = new
WifiP2pManager.PeerListListener() {
@Override
public void onPeersAvailable(WifiP2pDeviceList peerList) {
WritableArray array = Arguments.createArray();
for (WifiP2pDevice device : peerList.getDeviceList()) {
WritableMap params = Arguments.createMap();
params.putString("device", device.deviceName);
params.putString("address", device.deviceAddress);
array.pushMap(params);
}
/// how to return this params variable back to react native
WritableMap params = Arguments.createMap();
params.putArray("devices", array);
}
};
@ReactMethod
public void discoverPeers(final Callback callback) {
manager.discoverPeers(channel, new WifiP2pManager.ActionListener() {
@Override
public void onSuccess() {
callback.invoke(true);
}
@Override
public void onFailure(int reasonCode) {
callback.invoke(false);
}
});
}
Discoverpeers(){
WifiDirect.discoverPeers((success) => {
console.log(success);
this.setState({wifidirectavailable: success});
},
(error) => {
this.setState({wifidirectavailable: error});
}
);
}
我期待对等列表发现的返回功能,但是到目前为止,基于代码我还没有任何回报。