Wie kann ich das ändern das Verhalten von Android ist der Flugzeug Modus, so dass es nicht schalten Sie die cellular radio?

Habe ich versucht, zu erstellen eine einfache Anwendung, mit der Benutzer anpassen des Verhaltens der Flugzeug-Modus in Android. Die motivation für diese ist von einem verwandten, der hat ein Samsung Faszinieren, und bei anrufen wird er versehentlich aktivieren Sie den Flugmodus. Dies geschieht, wenn er hält das Telefon versehentlich nach unten hält, die Seite macht/lock-Taste, die öffnet einen dialog mit einem Menü für "Silent-Modus", "Flugmodus" und "Power Off". Er versehentlich auslöst, Flugzeug-Modus, indem Sie einen Hauch des Telefons auf seiner Wange. Dies lässt den call und ist ein ärgernis für ihn.

Letztendlich möchte ich eine app erstellen, die verhindert, dass der Funkempfänger ausgeschaltet wird, während der Benutzer ist in der Mitte von einem Anruf. Aber, für einen ersten Durchlauf dachte ich, es machte Sinn, damit der Benutzer manuell auswählen, welche radios würden nicht ausgeschaltet, indem Sie den Flugmodus.

Ich bin nicht suchen zum ändern der Android-source-code oder tun etwas, das würde erfordern, wühlen. Ich bin auf der Suche nach einer Lösung im standard-framework

Mein Erster Versuch, dies zu lösen, wurde eine Anwendung erstellen, ändern würde System.AIRPLANE_MODE_RADIOS etwa so:

System.putString(getApplication().getContentResolver(), System.AIRPLANE_MODE_RADIOS, "");

Nach den API-docs diese Konstante ist "Eine durch Kommata getrennte Liste von radios, die müssen deaktiviert werden, wenn der Flugzeugmodus aktiviert ist". Es scheint, dass der Flugzeugmodus nicht wirklich verwenden Sie diese Konstante, und es geht weiter zur Arbeit als normal, nachdem die änderung vorgenommen wird.

Mein Nächster Versuch war ein BroadCastReceiver, erhalten die AIRPLANE_MODE Aktion und senden Sie eine Absicht, um es rückgängig zu machen:

Intent am = new Intent(Intent.ACTION_AIRPLANE_MODE_CHANGED);
intent.putExtra("state", 0);
context.sendBroadcast(am);

Diese nicht ausschalten, Flugmodus, nachdem es aktiviert wurde. Wenn der Benutzer jedoch war in der Mitte eines Anrufs, wird es noch gelöscht werden (was Sinn macht). So, das ist nicht ganz die Lösung für mein problem.

Weiß jemand, wie man verhindern, dass Sie den Flugmodus deaktivieren der Mobilfunk?

  • Wäre das nicht eine sinnvolle Lösung sein, zu ändern, die Taste config, damit es nicht aktivieren, Flugzeug-Modus?
  • Wäre nicht dieser völlig Niederlage der Zweck der mit einem Flugzeug-Modus auf dem Telefon?
  • Ja, das ist genau der Punkt. Dies ist, was der Benutzer wünscht.
  • Wenn das möglich ist, dann sicher, es ist eine Lösung. Ich habe nicht ein Samsung Faszinieren, so dass ich weiß nicht, ob die Schaltfläche können Sie oder können nicht neu zugeordnet werden.
InformationsquelleAutor Eric Levine | 2010-11-28
Schreibe einen Kommentar