2014-04-10 16 views
8

Abbiamo notato che quando un gruppo Wifi Direct viene ricordato da un dispositivo che a volte causa problemi quando i dispositivi vengono riconnessi in seguito. Cancellare i gruppi ricordati sembra risolvere questo problema.È possibile rimuovere programmati i gruppi WiFi Direct memorizzati da Android in modo programmatico?

Sarebbe bello se potessimo farlo all'interno dell'applicazione, è possibile?

Chiamare semplicemente WifiP2pManager.removeGroup() non arresta il dispositivo ricordandoli.

Remembered Wifi Direct groups UI

risposta

0

mi trovo di fronte lo stesso problema e hanno anche cercato di trovare una soluzione, senza successo, per ora.

This thread sembra puntare su WifiManager, ma non si occupa di gruppi Wifi Direct.

Ad esempio, il seguente codice ci consente di elencare le reti Wifi memorizzate, in modo che possiamo rimuoverle, ma i gruppi Wifi Direct non sono ovviamente inclusi.

WifiManager wifiManager = (WifiManager)getSystemService(Context.WIFI_SERVICE); 
for (WifiConfiguration currentConfiguration : wifiManager.getConfiguredNetworks()) { 
    wifiManager.removeNetwork(currentConfiguration.networkId); 
} 

Qualcuno dovrebbe avere un'idea per gestire i gruppi Wifi Direct?

+0

L'unica soluzione che ho trovato finora è utilizzando la riflessione . – Philio

+0

Chiama la funzione nascosta deletePersistentGroup() in combinazione con la funzione nascosta requestPersistentGroupInfo() di WifiP2pManager? –

+0

Sì, ho guardato la fonte delle app delle impostazioni e così è stato fatto. – Philio

0

La sua possibile accedere a questi metodi molto facilmente senza la necessità di reflaction con la creazione di una versione android.jar aperta, ecco una guida che ho creato: http://androidwarzone.blogspot.co.il/2014/08/use-android-hidden-and-internal-methods.html

+1

Ciò potrebbe ingannare l'IDE nel pensare che esistano metodi nascosti, ma non è possibile garantire disponibilità e coerenza tra diverse versioni di Android senza alcun codice aggiuntivo per verificare almeno che il metodo esista. I metodi interni/nascosti sono soggetti a modifiche senza preavviso. – Philio

+0

Corretto, mi raccomando di aggiungere un metodo di riflessione per verificare il metodo esiste, ho corretto il mio post sul blog e aggiunto il codice di riflessione per verificare l'esistenza del metodo – Eli

Problemi correlati