Mobile Daten aktivieren/deaktivieren über TelephonyManager

  • Hallo zusammen,


    ich habe ein kleine App die je nach Status die Mobilen daten aktiveren soll oder eben nicht.


    Bei einem Handy Android 12 geht es mit:

    Code
    Settings.Global.putString(getContentResolver(), "mobile_data", "0"); //Aus
    oder 
    Settings.Global.putString(getContentResolver(), "mobile_data", "1"); //An

    Jetzt habe ich ein Handy (huawei) mit Android 8. Hier geht das scheinbar nicht.

    Daher habe ich dann folgendes gefunden:

    Code
    TelephonyManager telephonyService = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
    
    Method setMobileDataEnabledMethod = telephonyService.getClass().getDeclaredMethod("setDataEnabled", boolean.class);
    
    if (null != setMobileDataEnabledMethod)
    {
        setMobileDataEnabledMethod.invoke(telephonyService, true);//An
        setMobileDataEnabledMethod.invoke(telephonyService, false);//Aus
    }

    In der AndroidManifest.xml ist

    Code
    <uses-permission android:name="android.permission.MODIFY_PHONE_STATE" />

    hinterlegt!


    Ich laufe hier immer in eine java.lang.reflect.InvocationTargetException


    Es müsset doch eigentlich in Android 8 schon gehen.


    Hat jemand einen kleinen Tip!


    danke und grüße

  • Mir fällt gerade was anderes auf. Das Problem liegt an dem huawei Handy.

    Folgendes Szenario:

    Mobile Daten sind aktiv.

    Ich schalte nun mittels

    Code
    Settings.Global.putString(getContentResolver(), "mobile_data", "0");

    die mobilen Daten aus. Dann erlicht zwar das Icon, aber LTE bleibt in der Titelleiste stehen und das Internet geht.


    Wenn ich nun Mobile Daten mittels

    .\adb shell settings put global mobile_data 0

    ausschalte. Passiert das gleiche!


    Muss ich noch zusätzlich einen Parameter der Settings ändern, der vielleicht von huawei benötigt wird?

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!