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 ...
s'il vous plaît éditer votre message et formater le code pour le rendre lisible – kleopatra