
Vinayak Bevinakatti
Ich habe eine Anwendung, wenn sie startet, muss ich alle Tasten auf dem Android-Gerät deaktivieren, es ist mir gelungen, Anruf beenden und andere zu deaktivieren. Ich muss den Klick auf die Home-Taste deaktivieren. Es sollte keine Aktion beim Klicken hervorrufen.
Alle Vorschläge sehr geschätzt

synchron
Ich bin mir ziemlich sicher, dass Toddler Lock nur einen BroadcastReciever verwendet und darauf lauscht Intent.ACTION_MAIN
und die Kategorie Intent.CATEGORY_HOME
– Aus diesem Grund werden Sie beim ersten Start aufgefordert, das Kontrollkästchen “Diese Anwendung als Standard verwenden” zu aktivieren, und Sie müssen die Kleinkindsperre auswählen.
Es blockiert also nicht wirklich die Home-Taste, es richtet sich nur als Standard-Broadcast-Empfänger ein für:
Intent i = new Intent(Intent.ACTION_MAIN);
i.addCategory(Intent.CATEGORY_HOME);
Wenn Sie Toddler Lock starten, wird wahrscheinlich ein internes Flag gesetzt, und wenn Sie die Home-Taste drücken, wird das Fenster nur nach vorne gebracht. Wenn das Flag nicht gesetzt ist, wird Launcher wahrscheinlich explizit gestartet.
Ich hoffe das ergibt Sinn. Es ist nur eine Theorie, aber ich bin mir fast 100% sicher, dass es so gemacht wird.

Jeffrey
Fügen Sie Ihrer Aktivität folgenden Code hinzu:
@override
public void onAttachedToWindow()
{
this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);
super.onAttachedToWindow();
}
Bearbeiten:
Dies funktioniert in allen älteren Versionen von Android. Aber wird nicht funktionieren in ICS
und Jelly Bean und gibt Ihnen einen Absturz in der App
Was bedeutet dieser 4-zeilige Java-Code in einer Android-Anwendung?

Jean-Francois
Fügen Sie dies in Ihrer manifest.xml für Ihre Hauptaktivität hinzu:
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.LAUNCHER" />
<category android:name="android.intent.category.HOME" />
Die HOME-Taste wird Ihre Aktivität immer (neu) starten. Arbeitet in Froyo.

davide.gironi
Hier Sie finden meine Android-Beispielanwendung, die auf der Homepage bestehen bleibt. Home, Zurück, Anruf, Power-Taste sind deaktiviert. Der Benutzer kann die Anwendung nur durch Eingabe eines Kennworts beenden.

Amiekuser
Ich habe einen Weg gefunden, die HOME-Taste anzugehen. Legen Sie für Ihre Anwendung das Manifest als fest
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.HOME" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.MONKEY"/>
Jetzt ist Ihre Anwendung eine alternative Launcher-Anwendung.
Verwenden Sie die adb und deaktivieren Sie die Launcher-Anwendung mit dem Paketmanager
pm disable com.android.launcher2
Jetzt bleibt das Drücken der Home-Taste immer auf demselben Bildschirm.

Richard Rout
Eine weitere Ergänzung zu Jeffreys Post, hier ist etwas, das für mich funktioniert hat (und immer noch ein durchscheinendes Thema erlaubt)
@Override
public void onAttachedToWindow()
{
this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD_DIALOG);
super.onAttachedToWindow();
}
Da dadurch der Tastenschutz angezeigt wird, können Sie den Tastenschutz auch einfach deaktivieren, während die App verwendet wird:
KeyguardManager keyguardManager = (KeyguardManager)getSystemService(KEYGUARD_SERVICE);
KeyguardLock lock = keyguardManager.newKeyguardLock(KEYGUARD_SERVICE);
lock.disableKeyguard();
Dies funktioniert wirklich gut, um Ihre eigene Keyguard-App zu erstellen.
9158000cookie-checkAndroid – Ist es möglich, das Klicken auf die Home-Schaltfläche zu deaktivieren?yes
Ja, ich stimme Ihren Kommentaren zu, aber meine Anforderung ist echt, da die Anwendung einige Standardaufgaben hat, von denen ich sage, dass sie mein Telefon intelligent teilen, wie ich mein Telefon meinem Kind übergebe, es sollte in der Lage sein, alles in meiner Anwendung zu tun Mit nur einem Klick sollte die Anwendung nicht ohne meine Erlaubnis beendet werden. Sie müssen die Authentifizierung zum Beenden der Anwendung bereitstellen.
– Vinayak Bevinakatti
30. Januar 2010 um 4:41 Uhr
Ein gutes Beispiel ist das Todler-Schloss.
– Jay Askren
30. Januar 2010 um 22:23 Uhr
@Jay Askren, Ja, es ist ein gutes Beispiel. Haben Sie eine Idee zum Codehinweis dafür?
– Vinayak Bevinakatti
1. Februar 2010 um 4:49 Uhr
Leider nicht. Es tut uns leid.
– Jay Askren
1. Februar 2010 um 5:29 Uhr
@JohnFeminella: Nun, Sie denken an Android auf privaten Geräten, aber was ist mit einem Unternehmensgerät, von dem Sie nicht möchten, dass die Benutzer durch die Optionen wandern, sondern nur eine Anwendung verwenden?
– m0skit0
5. September 2012 um 14:12 Uhr