2015-09-25 19 views
8

Ich entwickle Lockscreen Anwendung, und ich möchte, Home-Taste,Wie Toast Nachrichten deaktivieren, die in Screen Pinning generiert werden?

meine app ist deaktiviert - Geräteinhaber und Geräte-Administrator

jetzt Taste deaktivieren Hause Pinning ich bin usnig Bildschirm.

aber wenn ich Aktivität jedes Mal begann ich bekommen msg „Screen gepinnt“ und schließen „Screen unpinned“ und wenn klicken Sie auf zu Hause dann,

„dem Beenden nicht von Ihrer Organisation erlaubt“ Ich möchte entfernen all diese Toast-Nachrichten.

bitte schlagen Sie mir Lösung dafür vor oder wenn Sie irgendeine andere bessere Lösung haben, um Hauptknopf zu betätigen, dann helfen Sie mir bitte ..!

+0

Ist Ihr Problem gelöst? Wie? – azhar

+0

Keine Option dafür, ich habe nur danach gesucht. Es erstellt entweder App wie Launcher oder Rooting-Gerät. –

Antwort

1

Es scheint keine Überschreibung oder "Whitelist" oder Richtlinie zu geben, die es sogar einem Gerätebesitzer ermöglicht, diese Nachricht zu überschreiben.

Hier ist der Code, der den Toast zeigt: http://androidxref.com/6.0.1_r10/xref/frameworks/base/services/core/java/com/android/server/am/LockTaskNotify.java#74.

Hier ist der Code, der diese Methode show aufruft, wenn eine gesperrte Aufgabe angezeigt wird: http://androidxref.com/6.0.1_r10/xref/frameworks/base/services/core/java/com/android/server/am/ActivityStackSupervisor.java#3919.

Es gibt keine Flags oder Ressourcen, die hier übersteuert werden können, soweit ich gefunden habe. Wenn Sie Zugriff auf die Quelle haben, müssen Sie die Zeile auskommentieren, die show aufruft.

+0

Vielleicht können wir nie zulassen, dass die App zur ersten gesperrten Aktivität zurückkehrt. Erzwingt die zweite Aktivität mit 'onResume'? http://androidxref.com/6.0.1_r10/xref/frameworks/base/services/core/java/com/android/server/am/ActivityStackSupervisor.java#3912 – Magillus

2

Angenommen Sie haben die ADB verwendet, um Ihre App als Geräte Besitzer auflistet, können Sie eine ähnliche Eingabeaufforderung verwenden, um alle Toast Nachrichten zu deaktivieren:

adb shell appops set android TOAST_WINDOW deny 

Für diesen Befehl zu arbeiten, wechseln Sie in das Verzeichnis, in dem adb.exe befindet sich (außer wenn Sie es dem PATH hinzugefügt haben). Dadurch werden alle Toast-Nachrichten auf dem verbundenen Android-Gerät (virtuell oder nicht) deaktiviert. Wenn mehrere Geräte vorhanden sind, wird das zuerst gefundene Gerät ausgewählt.

+0

Das beantwortet nicht die Frage, Sangha_development nur wollen Deaktivieren Sie ein paar Toast, nicht alle. –

+0

Ich denke, deshalb wurde meine Antwort damals nicht akzeptiert. Dennoch könnte es als Workaround verwendet werden. Wenn Sie dem Benutzer andere Nachrichten anzeigen möchten, können Sie Toast-ähnliches Verhalten mit einem benutzerdefinierten Dialogfeld nachahmen, das nach einigen Sekunden automatisch ausgeblendet wird. Es ist nicht so schwer ... – Jenever

Verwandte Themen