Frage

Ich habe ein bisschen für die Aktie des Auto App auf Ersatz gearbeitet, und ich bin völlig ratlos, wie die Home-Taste außer Kraft zu setzen, so dass mein App wieder in den Vordergrund gebracht werden, wenn das Telefon angedockt ist. Dies ist die Art und Weise, dass Auto-Haus funktioniert, so muss es eine Möglichkeit sein.

Es scheint, dass BroadcastReceivers wird nicht funktionieren, weil die Absicht, die Sendung ist, wenn die Home-Taste gedrückt wird, wird nach wie vor Ursache des Standard-Homescreen App zu starten; Ich kann es nicht verhindern. Ich kann die Home-Taste aus meiner app außer Kraft setzen, aber das tut mir nicht gut, da diese Bedürfnisse zu arbeiten, wenn der Benutzer außerhalb ist meine App. Auto-Haus tut alles auch nicht komisch wie Set selbst als Standard-Homescreen App, während es läuft (ich die logcat geprüft, um sicherzustellen).

Ich habe zu schlagen wirklich meinen Kopf gegen die Wand zu diesem Thema. Hat jemand irgendwelche Ideen haben, oder können Sie zumindest Punkt mich in die richtige Richtung?

War es hilfreich?

Lösung

Nun, nach vielen Monaten habe ich endlich die Antwort auf diese Frage. Der Schlüssel ist die „android.dock_home“ Metadatenelement, finden Sie hier:

http://developer.android.com/reference/android/ content / Intent.html # METADATA_DOCK_HOME

Durch die Verwendung dieser in AndroidManifest.xml, können Sie Ihre Dock-Anwendung für die Heimanwendung werden lassen vorübergehend. Um dies zu tun, fügen Sie diese Zeile auf die AndroidManifest.xml innerhalb der Aktivitäts-Tags für die Dock-App Aktivität:

<meta-data android:name="android.dock_home" android:value="true" />

Wenn der Wert auf true gesetzt ist, solange Ihr Telefon der Home-Taste dockt ist, werden Sie zum Dock App zurückzukehren. Nach dem Abdocken wird die Home-Taste Sie zurück zu Ihrem normalen Hause app nehmen.

Andere Tipps

Leider gibt es keine Möglichkeit, in dem öffentlichen APIs die Home-Taste ohne dass der Benutzer es bestätigt außer Kraft zu setzen.

Am besten wäre es, eine CATEGORY_HOME Absicht umzusetzen. Dieses Mittel, wenn ein Benutzer Heim gedrückt würden sie die Option, werden die Standard-Startseite oder bei Ihnen führen und Ihnen die Standard machen, wenn sie wollten.

Wenn Sie Ihre Anwendung gestartet wurde, konnte man dann prüfen, ob das Telefon angedockt war. Wenn das Telefon nicht verankert ist könnte man dann den Standard Home-Bildschirm öffnen und schließen Sie Ihre App, bevor etwas angezeigt wird.

Sie müssen die richtigen Intent-Filter in Ihrem Manifest für die App automatisch starten, wenn Sie das Telefon andocken. Siehe http://developer.android.com/reference/android/ content / Intent.html # CATEGORY_CAR_DOCK für die Informationen.

Ich fand einen Weg, HOME-Taste zu bewältigen. Für Ihre Anwendung festgelegt, die es als

<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 ur Anwendung ist eine alternative Launcher-Anwendung.

Verwenden Sie die adb, und deaktivieren Sie die Launcher-Anwendung unter Verwendung von Paket-Manager

pm disable com.android.launcher2.

Nun ist die Home-Taste drücken wird laways bleiben in dem gleichen Bildschirm.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top