Ich muss mobile Daten programmgesteuert ein-/ausschalten. Der folgende Code funktioniert nicht für 5.x. Kannst du mir bitte helfen. Danke im Voraus.Android L (5.x) "Mobile Daten" programmgesteuert ein-/ausschalten
private void setMobileDataEnabled(Context context, boolean enabled) throws ClassNotFoundException, NoSuchFieldException, IllegalAccessException, NoSuchMethodException, InvocationTargetException {
final ConnectivityManager conman = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
final Class conmanClass = Class.forName(conman.getClass().getName());
final Field connectivityManagerField = conmanClass.getDeclaredField("mService");
connectivityManagerField.setAccessible(true);
final Object connectivityManager = connectivityManagerField.get(conman);
final Class connectivityManagerClass = Class.forName(connectivityManager.getClass().getName());
final Method setMobileDataEnabledMethod = connectivityManagerClass.getDeclaredMethod("setMobileDataEnabled", Boolean.TYPE);
setMobileDataEnabledMethod.setAccessible(true);
setMobileDataEnabledMethod.invoke(connectivityManager, enabled); }
03-30 12: 42: 29,466: W/System.err (5966): java.lang.NoSuchMethodException: setMobileDataEnabled [boolean] 03-30 12: 42: 29,466: W/System.err (5966): um java.lang.Class.getMethod (Class.java:664) 03-30 12: 42: 29.466: W/System.err (5966): um java.lang.Class. getDeclaredMethod (Class.java:626)
java.lang.NoSuchMethodException: setMobileDataEnabled [boolean] @ unterhalb der Linie.
letzte Methode setMobileDataEnabledMethod = connectivityManagerClass.getDeclaredMethod ("setMobileDataEnabled" Boolean.TYPE);
die Protokollkatze hier bekannt geben –
@DavidJhons überprüfen Sie bitte aktualisierte Frage. –
mögliches Duplikat von [Die Methode setMobileDataEnabled ist ab Android L nicht mehr aufrufbar] (http://stackoverflow.com/questions/26539445/the-setmobiledataenabled-method-is-no-long-callable-aso-of- android-l-und-später) – PageNotFound