2017-02-18 4 views
0

Ich entwickle eine App basierend auf Android Wi-Fi Direct. Ich möchte Geräte ohne Dialogberechtigung im Vordergrund verbinden. Codes im folgenden Link funktionieren ordnungsgemäß für Galaxy Note 4 (Android 6.0.1), aber wenn ich es auf LG G3 (Android 5.0) versuchte, löst es ClassNotFoundException bei Code unten aus.Android WifiP2pManager DialogListener Klasse nicht gefunden Ausnahme

dialogInterface = Class.forName ("android.net.wifi.p2p.WifiP2pManager $ DialogListener");

https://github.com/octoblu/alljoyn/blob/master/alljoyn/alljoyn_java/helper/org/alljoyn/bus/p2p/WifiDirectAutoAccept.java

Antwort

1

Es kann nicht viel sein, das Sie in diesem Fall tun können.

DialogListener ist in WifiP2pManager als @hide gekennzeichnet, und es gibt keine Garantie, dass diese Schnittstelle in allen Versionen von Android vorhanden sein wird. Basierend auf der stock 6.0.1 source code, sehe ich nicht einmal Beweise dafür, dass diese Schnittstelle existiert, also bin ich überrascht, dass dies sogar auf der Note funktioniert (es sei denn, Samsung hat einige Anpassungen vorgenommen). Ich sehe diese Schnittstelle jedoch in 4.1.2.

Um Probleme mit Reflektion zu beheben, empfehle ich, einen Debugger zu verwenden, um das Objekt (WifiP2pManager) zu untersuchen, das Ihnen Probleme bereitet.

Verwandte Themen