Android: Vollständige Kontrolle über das Telefon (Kiosk-Modus) ist es möglich? Wie?
Wir haben ein Programm, installieren wir auf die Handys und Kredit den Telefonen, um die Benutzer für einen bestimmten Zeitraum. Wir möchten, dass die Handys werden ausschließlich für den Betrieb unserer Anwendung (keine Anrufe, keine Spiele, kein gar nichts). Die Telefone verwurzelt sein.
Also die Dinge, die wir brauchen:
- Laufen im Vollbildmodus, sonst nichts sichtbar
- Home-button und andere Geräte-Tasten nicht funktionieren
- Unsere app wird automatisch ausgeführt beim Start
Es nicht um "hacker-proof", aber sollte ausreichen, um zu verhindern, dass Durchschnittliche Benutzer messing mit dem Gerät.
Ist das möglich? Ich habe getan, ähnliche Dinge, die auf Symbian & Windows-Mobile, aber ich habe nicht viel Erfahrung mit diesem Zeug auf Android. Wie kann das erreicht werden?
UPDATE 2015: Wenn Sie nichts dagegen haben, dass Ihre app zu einzelnen Handy Hersteller, Samsung eingeführt hat, die KNOX-SDK können Sie erreichen, kiosk-Modus und vieles mehr einfach und ohne wühlen das Telefon. Sehen Sie details an: https://seap.samsung.com/developer/sdk/knox-standard-android
InformationsquelleAutor der Frage Caner | 2011-08-19
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ja, es ist möglich, aber Sie können nicht kontrollieren, das Verhalten der
Home key
undend call key
.für full-screen hinzufügen
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
" activity-tag in der manifest-Datei.Deaktivieren eingehenden Anruf müssen Sie hören, telefonieren:
Hinweis: Beim beenden des Dienstes nicht foget an den listener entfernen, und fügen Sie diese Berechtigungen, um Ihre manifest-Datei:
ist, und trennen Sie den Anruf programmatisch:
Hinweis: Fügen Sie diese Datei, um den Anruf zu beenden:
http://dl.dropbox.com/u/31740476/ITelephony.aidl
Deaktivieren die Tasten, die Sie überschreiben müssen:
Auf Home-Taste drücken Sie die Home-Bildschirm, um dies zu überwinden, müssen Sie einen service implementiert und es gibt Sie implementieren müssen, um einen unendlichen thread zu einem relaunch Ihrer app wie diese:
BEARBEITEN
Benötigen Sie noch die folgende Berechtigung, um in der Lage sein, um Anrufe zu beenden:
Und Sie können die folgenden AIDL-Datei:
InformationsquelleAutor der Antwort Vineet Shukla
Vineet ' s Lösung funktioniert. Aber ich denke, es erfordert zwei weitere Berechtigungen, die ich gefunden aus
hier
Also die Berechtigungen, die erforderlich sind
Obwohl es funktionierte für mich so
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<uses-permission android:name="android.permission.CALL_PHONE"/>
InformationsquelleAutor der Antwort Zaki Choudhury
können Sie auch einen Blick in diese: https://github.com/ligi/Setec-Astronomy
sorry für die Scham-weniger self-plug, aber wir haben anderes Probleme gibt 😉
InformationsquelleAutor der Antwort ligi
@Vineet Shukla: Der
READ_PHONE_STATE
Erlaubnis ist nicht genug, um es arbeiten. Sie müssen auch dieCALL_PHONE
Erlaubnis, um den Anruf zu beenden.Den
MODIFY_PHONE_STATE
(wie sagte Zaki Choudhury) ist eine system-Berechtigung und kann verwendet werden, die nur auf gerooteten Geräten und ist nicht erforderlich, von jedem Teil des Codes.InformationsquelleAutor der Antwort MDTech.us_MAN