German Flugmodus

tudorf

Active Member
Licensed User
Longtime User
Hallo
Ich versuche mit der Toggle-Lib den Flugmodus ein- bzw. auszuschalten.

Dim TGL AsToggle
TGL.Initialize()
TGL.Reboot -- Fehler
TGL.TurnAirplaneModeOn -- Fehler

Im Manifesteditor habe ich folgende Zeile eingefügt.
AddPermission(android.permission.WRITE_SETTINGS)
AddPermission(android.permission.CHANGE_NETWORK_STATE)

Fehler: Permisson Denial: not allowed to send broadcast android.intent.Action.airplaine_mode from pid=27012, uid=10084

Wahrscheinlich fehlt noch ein Eintrag im Manifesteditor.

Was fehlt?

Danke Martin
 

specci48

Well-Known Member
Licensed User
Longtime User
Hallo Martin,

das Setzen des Flugmodus funktioniert nur bis Adroid 4.1 ohne Probleme.
Ab Android 4.2 benötigt man Root-Rechte auf dem Device, hier hat Google diverse Änderungen - aus Sicherheitsüberlegungen - vorgenommen.

Eine Google-Suche über "Permisson Denial: not allowed to send broadcast android.intent.Action.airplaine_mode" liefert hierzu insbesondere auf http://stackoverflow.com diverse Treffer und entsprchende Anmerkungen/Erklärungen der Community.

Selbst bekannte Apps wie TimedToggles kommen aktuell nicht mehr ohne Root aus...

Gruß
specci48
 

tudorf

Active Member
Licensed User
Longtime User
Hallo specci48
Danke für die Info. Da mein Englisch sehr schlecht ist habe ich große Problem dem zu folgen was da überall steht.
Meine App läuft nur auf meinem Handy. Wie kann ich dem Programm Rootberechtigungen geben? Habe ein Samsung S5
Danke Martin
 

specci48

Well-Known Member
Licensed User
Longtime User
Dann gehe ich mal davon aus, dass du dein S5 gerootet hast.

Die Super User Library bietet die Möglicheit, der B4A-Anwendung diese Rootrechte zu verschaffen.
 

tudorf

Active Member
Licensed User
Longtime User
Danke. Das Handy ist von mir nicht gerootet. Ich versuche das mal mit der Super.Lib
Martin
 

specci48

Well-Known Member
Licensed User
Longtime User
Danke. Das Handy ist von mir nicht gerootet. Ich versuche das mal mit der Super.Lib
Martin
Dann funktioniert das mit der SuperUser Library auch nicht.
Die Bibliothek sogt nur dafür, dass deine B4A-App die benötigten Root-Rechte vom Device anfordert. Root-Rechte auf dem Gerät müssen hierfür aber generell vorhanden sein.
 

tudorf

Active Member
Licensed User
Longtime User
Danke. Ich setze mal meinen Sohn dran. Der hat mehr Ahnung. towelroot klappt nicht
Martin
 

tudorf

Active Member
Licensed User
Longtime User
Hallo
Ich habe gestern nach einiger Zeit mein Programm ausgesucht und weitergespielt.
Ich bin sicher, dass ich mit folgendem Code meine Einstellung der Mobilen Daten abfragen konnte.
Leider geben mir alle Ausgaben nur False zurück obwohl mobile Daten an sind.

Dim TGL As Toggle
Msgbox("airplane",TGL.AirplaneMode)
Msgbox("dataconnection",TGL.DataConnection)
Dim p AsPhone
Msgbox("phonetest",p.IsAirplaneModeon)

Msgbox(TGL.DataConnection,"data")

Warum geben alle Ausgaben False zurück. Irre ich mich das immer False zurückgegeben wurde?
Update oder Handyrooten wurden nicht durchgeführt.
MfG Martin
 
Last edited:

specci48

Well-Known Member
Licensed User
Longtime User
Zumindest bei
Msgbox("airplane",TGL.AirplaneMode)
und
Msgbox("phonetest",p.IsAirplaneModeon)
würde ich nichts anderes erwarten, denn das Ergebnis gibt Auskunft darüber, ob der AirplaneMode eingeschaltet ist, oder eben nicht (=false).

Einfach mal den Flugmodus einschalten, dann sollten beide Ausgaben "true" anzeigen.

Bei TGL.DataConnection kann ich das Problem auf einem Tablet unter Android 4.4.2 nachvollziehen, habe allerdings keine Ahnung, warum hier "false" ausgegeben wird.
Innerhalb des Android Emulators erhält man - wie erwartet - "true" zurück.
 

tudorf

Active Member
Licensed User
Longtime User
Hallo
Ich teste alles auf meinem S5. Ich bin aber etwas weiter.

Dim p AsPhone mit p.IsAirplaneModeOn ist immer False

TGL.DataConnection ist True wenn entweder Bluetooth on oder Mobile Daten on sind.

Wenn TGL.WiFi False ist und TGL.DataConnection True müssen die Mobilen Daten on sein.

Danke Martin
 
Top