2016-05-23 3 views
1

Je développe un module dans Xposed Framework qui essaie d'accéder au service Wifi p2p pour le modifier. Cela fonctionne parfaitement sur un Samsung Galaxy S3 par le code trouvé ici: https://stackoverflow.com/a/18629705/2933485Nom de la classe pour android.net.wifi.p2p.WifiP2pService en Moto E

Il utilise le nom de classe « android.net.wifi.p2p.WifiP2pService » pour accéder à la méthode. Mon problème vient lorsque vous essayez de l'exécuter sur un dispositif Moto E, les journaux disent:

E/Xposed: java.lang.ClassNotFoundException: android.net.wifi.p2p.WifiP2pService 

donc je suppose qu'il doit y avoir eu un changement au nom de la classe. ¿Quelqu'un at-il une référence sur ce qui pourrait se passer avec le service wifi p2p sur MOTO E (2ème génération)? La version est sucette 5.0.2

Répondre

0

Lollipop à partir de WifiP2pService classe n'était pas disponible! Donc, Vous pouvez également utiliser WifiP2pManager classe au lieu de WifiP2pService classe et vous ne pouvez pas obtenir P2pStateMachine objet de WifiP2pManager classe parce que, P2pStateMachine était pas disponible dans classe WifiP2pManager!

J'ai trouvé une classe dans github pour accepter la connexion p2p automatiquement à l'aide WifiP2pManager sur ce lien

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

Essayez ci-dessus classe et je ne suis pas sûr qu'il fonctionnera parfaitement ou non :(

+0

dans quelles versions cela se passe? Celui qui fonctionne pour moi est jelly bean (maintenant je comprends pourquoi) mais peut-être que je voudrais essayer dans les versions supérieures à Lolipop.Il y a aussi des spécifications où je peux trouver cette information? – BlueMountain

+0

Oui c'était changé de sucette sur les pupilles! donc, vous devez vérifier la condition api si API < lollipop -> votre ancien code else API> = lollipop -> votre nouveau code –