Ich bin eine Anwendung implementieren, wo ich Geräte mit WiFi P2P entdecken und einige Daten über jedes erkannte Gerät aufzeichnen muss. Das Problem, das ich habe ist, dass, wenn ein Gerät von online nach offline geht, die WifiP2pDeviceList
nicht aktualisiert wird, so dass es dieses Gerät entfernt. Aber wenn ein neues Gerät erkannt wird, wird es normalerweise zur Liste hinzugefügt. Also, was ist das Problem mit meinem Code?Android: Wifi P2P-Liste wird nicht richtig aktualisiert
Ich habe diesen Beitrag bereits gesehen (WIFI P2P discovery list is not getting refreshed?) und es unterscheidet sich von dem, was ich habe.
/**
* A Table of devices that displays all peers and shows the corresponding
* info about them.
*/
public class DevicesTable extends Fragment implements PeerListListener {
protected static List<WifiP2pDevice> peers = new ArrayList<WifiP2pDevice>();
View mContentView = null;
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
mContentView = inflater.inflate(R.layout.table, null);
return mContentView;
}
/**
* @return this device
*/
public WifiP2pDevice getDevice() {
return device;
}
@Override
public void onPeersAvailable(WifiP2pDeviceList newPeers) {
ClientActivity x = (ClientActivity) ClientActivity.context;
if (!x.wifiP2pScanThread.isScanning()) {
return;
}
peers.clear();
peers.addAll(newPeers.getDeviceList());
ArrayList<String> onlinemacs = new ArrayList<>();
if (peers.size() == 0) {
Log.d(ClientActivity.TAG, "No devices found");
} else {
for (WifiP2pDevice dev : peers) {
//do something
}
}
}
}