2010-10-01 5 views
0

J'ai fondé cette classe avec la fonction: setBackgroundDataSetting, sur kiwidoc.com.À la recherche du android.net.iConnectivityManager

J'ai juste besoin de cette fonction pour mon application.

Mais comme le site dit: "This class is not part of the public API.". Je ne peux pas l'utiliser dans mon IDE. Donc, j'ai cherché sur Google iConnectivityManager, mais je ne peux pas trouver seulement plus de documents.

Dois-je l'oublier (je ne veux pas trop) ou y a-t-il un moyen d'obtenir ce cours?

Merci,

DeDanny.

Répondre

1

Dois-je l'oublier (je ne veux pas) ou y at-il un moyen d'obtenir cette classe? Une application de SDK standard ne peut pas détenir l'autorisation nécessaire pour modifier le paramètre de données d'arrière-plan.

Par conséquent, que vous puissiez ou non accéder à cette classe est probablement sans importance.

1

Vous pouvez obtenir l'instance de iConnectivityManager par ConnectivityManager voir ci-dessous comment: -

final ConnectivityManager conman = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); 


Class conmanClass conmanClass = Class.forName(conman.getClass().getName()); 

final java.lang.reflect.Field iConnectivityManagerField = conmanClass.getDeclaredField("mService"); 

iConnectivityManagerField.setAccessible(true); 

final Object iConnectivityManager = iConnectivityManagerField.get(conman); 

final Class iConnectivityManagerClass = Class.forName(iConnectivityManager.getClass().getName()); 

Maintenant, vous pouvez appeler une méthode ou d'un champ de cette classe, en fait cette classe n'existe plus, mais c'est la voie de porte dérobée d'accéder à cette classe, par exemple. vous voulez accéder à la méthode any de cette classe, par exemple setMobileDataEnabledMethod(),

final Méthode setMobileDataEnabledMethod = iConnectivityManagerClass.getDeclaredMethod ("setMobileDataEnabled", Boolean.TYPE);

De même tout autre domaine,

final java.lang.reflect.Field iConnectivityManagerField = iConnectivityManagerClass.getDeclaredField("xyz"); 

J'espère que cela effacera laisser vos commentaires pour la requête plus ...

+0

s'il vous plaît éditer votre message et formater le code pour le rendre lisible – kleopatra

Questions connexes