Android - Entfernen der Startseite und der Navigationsschaltfläche

8

Ich versuche, die Home-Schaltfläche und die Multithread-Schaltfläche zu entfernen. Die Idee ist, es vollständig aus der laufenden Anwendung zu entfernen, besser, wenn wir es vollständig aus jeder Anwendung auf dem Tablet, mit dem wir arbeiten, entfernen können. Das Verwenden von Vollbild ist nicht etwas, das wir wollen, da der Benutzer nicht in der Lage sein sollte, den Vollbildmodus zu verlassen, selbst wenn er es möchte (es ist eine benutzerdefinierte kommerzielle Anwendung, es ist das gewünschte Verhalten aus mehreren Gründen).

Dies ist das Ergebnis eines Nexus 10. Wir haben dies erreicht, indem wir die SystemUI-Quellen genommen und sie vor der Erstellung des CyanogenMods geändert haben.

Leider müssen wir das in einem Asus ZenPad 10 replizieren, für das kein CyanogenMod verfügbar ist. Wir haben eine Version, die es uns ermöglicht, Systemanwendungen zu erstellen, aber jede Anwendung in eine Systemanwendung zu ändern, ist nicht etwas, das wir wollen.

Wir haben in diesem Link gefunden: Ссылка

Es gibt Flags zum Deaktivieren der Home-Schaltfläche und der Navigationsschaltfläche, aber sie sind nur mit Systemanwendungen verwendbar.

Wir haben versucht, die SystemUI.apk bereits im Tablet zu kompilieren, zu dekompilieren und zu ändern. Das Problem ist, dass wir nutzlose Smali-Dateien haben oder nur res / und AndroidManifest.xml Dateien haben (Asus hat die SystemUI.apk in zwei eigene APKs geändert).

Also ... wir sind hier ein wenig verzweifelt, ahah. Suche nach Hinweisen / Ideen, um zu versuchen, diese Knöpfe zu entfernen. Besser, ohne es neu zu kompilieren oder etwas Seltsames zu tun.

    
Filnik 03.12.2015, 11:22
quelle

6 Antworten

3

Dies ist möglich mit einer Kombination von Berechtigungen wie Immersive Vollbildmodus kombiniert mit dem SYSTEM_UI_FLAG_HIDE_NAVIGATION und SYSTEM_UI_FLAG_FULLSCREEN Flags. Diese Flags verbergen die Navigations- und Statusleiste, jetzt, wo Sie einen leeren Bildschirm haben, setzen Sie einen linearen Layout am unteren Bildschirmrand mit nur dem Zurück-Icon sichtbar, nur um den Effekt dessen zu erzeugen, was Sie wollen. Beachten Sie auch, dass es wichtig ist zu verstehen, dass, sobald der Benutzer nach oben wischt, die normale Navigationsleiste sichtbar ist (nicht sicher, ob sie durch das Intercept-Touch-Ereignis gehandhabt werden kann).

Alternativ können Sie diese hier erwähnte Lösung auch ausprobieren Deaktivieren der Startseite und anderer Systemschaltflächen in Android?

verweist auch auf dieses GitHub-Projekt (funktioniert, wenn nur eine Hardware-Navigationsschaltfläche vorhanden ist) Ссылка

Last but not least Es gibt eine Antwort von Commware, die mehr Licht auf dieses Thema wirft, könnte sich als nützlich erweisen. Deaktivierung der Home-Taste auf bestimmten Android-Geräten nicht möglich

    
war_Hero 07.12.2015 12:21
quelle
1

Probieren Sie Android für Work-APIs und referenzen hier .Mit dieser API können Sie die volle Kontrolle über das Gerät erhalten und alles deaktivieren, was Sie möchten.Das Gerät kann nur für einzelne Apps verwendet werden.

  

Die unternehmenseigene Single-Use-Lösung (COSU) ist eine Teilmenge des corp-haftpflichtigen Szenarios für gemeinsam genutzte oder speziell genutzte Geräte. Im Gegensatz zu corp-pflichtigen Geräten, die einzelnen Mitarbeitern zugeordnet sind, sind COSU-Geräte bestimmten Geschäftsfunktionen zugeordnet. Beispielsweise könnte ein COSU-Gerät als Kiosk verwendet werden.

Sie können auch versuchen, benutzerdefinierte MDM (Mobile Device Management) -Lösung von OEMs / MDM-Anbieter / MDM-Partner wie Samsung, HTC, Airwatch usw. zu integrieren. Dies funktioniert auf Geräten vor dem Lollipop zu und Stellen Sie mehr APIs bereit, um das Gerät zu steuern, als standardmäßig mit Android-Lösung bereitgestellt.

Ich weiß, Samsung MDM / Knox-Lösung ist gut und es hat APIs, um jeden Teil des Geräts zu steuern.Refer- Ссылка . Sie haben einen Kiosk-Modus, der COSU ähnlich ist.

    
rupesh jain 13.12.2015 18:58
quelle
0

Sie werden dem Benutzer um Erlaubnis bitten. In diesem Auto bist du es. Seien Sie vorsichtig, da Sie einen Weg zurück aus der Anwendung implementieren müssen.

Referenz: Home deaktivieren

Oder Sie könnten einfach ein Etui kaufen, um es herumzukleben, damit die Knöpfe nicht sichtbar sind ...

    
SamuelD 03.12.2015 11:57
quelle
0

benutze den Tauchmodus, benutze diesen Code in onResume (), so dass jedes Mal, wenn du zu deiner Aktivität zurückkehrst, dieser gelaufen ist und sie verborgen sind

%Vor%     
life evader 08.12.2015 02:18
quelle
0

Natürlich können Sie keine Systemschaltflächen wie Strom , Lautstärke +/- entfernen , Startseite , Zurück oder Menü . Sie können Startseite , Zurück oder Menü nur ausblenden oder einblenden, wenn sie virtuell sind (gegenüber Feste Schaltfläche ) ).

Währenddessen ist das Ausblenden der Navigationsleiste eingeschränkt. Es kann nur auf Android 4.0 und höher abgeschlossen werden. Wenn Sie dies tun möchten, müssen Sie das Flag SYSTEM_UI_FLAG_HIDE_NAVIGATION verwenden. Dieses Snippet blendet sowohl die Navigationsleiste als auch die Statusleiste aus:

%Vor%

Wenn Sie festlegen möchten, dass der Inhalt Ihrer Anwendung hinter der Navigationsleiste angezeigt wird, benötigen Sie das Flag SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION . Möglicherweise müssen Sie auch SYSTEM_UI_FLAG_LAYOUT_STABLE verwenden, damit Ihre App ein stabiles Layout erhält.

    
SilentKnight 14.12.2015 09:30
quelle
0

Ich habe das gleiche für eine lange Zeit versucht und viel gesucht aber wie Sie wissen, ist die HOME-Taste die einzige Möglichkeit, aus der Benutzer herauszukommen jede App in jeder Situation. Es ist sehr riskant das zu blockieren und Google wird es nicht zulassen.

Eine Sache, die Sie tun können, ist Ihre Anwendung als Launcher-Anwendung zu setzen, dann können Sie keyevent Home

erhalten     
Faheem Ahmad Khan 14.12.2015 10:20
quelle