2015-09-25 26 views
8

Zajmuję zastosowanie blokady ekranu, i chcę, aby wyłączyć przycisk home,Jak wyłączyć komunikaty Toast generowane podczas zakładania ekranu?

moja aplikacja jest - właściciel urządzenia i Device Administrator

teraz jestem ekran usnig przypinanie dla wyłączyć przycisk home.

ale gdybym rozpoczęła działalność za każdym razem dostać msg „Ekran przypięty” Zamknij „i na ekranie odpięty” i jeśli kliknięcie na domu wtedy, „odpiąć jest niedozwolone przez organizację”

Chcę usunąć wszystkie te wiadomości toastowe.

proszę zaproponować mi rozwiązanie lub jeśli masz jakieś inne lepsze rozwiązanie, aby wyłączyć przycisk domu, proszę mi pomóc ..!

+0

Czy twój problem został rozwiązany? w jaki sposób? – azhar

+0

Brak opcji, szukałem tego. Jest to zarówno tworzenie aplikacji jak program uruchamiający lub urządzenie rooting. –

Odpowiedz

1

Wygląda na to, że nie ma żadnej nadpisania ani "białej listy" ani zasad, które pozwalają nawet właścicielowi urządzenia przesłonić tę wiadomość.

Oto kod, który pokazuje toast: http://androidxref.com/6.0.1_r10/xref/frameworks/base/services/core/java/com/android/server/am/LockTaskNotify.java#74.

Oto kod, który wywołuje tę metodę show, gdy wyświetlane jest zablokowane zadanie: http://androidxref.com/6.0.1_r10/xref/frameworks/base/services/core/java/com/android/server/am/ActivityStackSupervisor.java#3919.

Nie ma tu flag ani zasobów, które mogą zostać nadpisane, o ile znalazłem. Jeśli masz dostęp do źródła, musisz wykomentować linię, która wywołuje show.

+0

Może nigdy nie możemy pozwolić aplikacji na powrót do pierwszej zablokowanej aktywności? Wymuszenie drugiej aktywności z "onResume"? http://androidxref.com/6.0.1_r10/xref/frameworks/base/services/core/java/com/android/server/am/ActivityStackSupervisor.java#3912 – Magillus

2

Zakładając, że użył ADB do listy swoją aplikację jako właściciel urządzenia, można użyć podobny wiersz polecenia, aby wyłączyć wszystkie wiadomości tosty: gdzie

adb shell appops set android TOAST_WINDOW deny 

tego polecenia do pracy, cd do katalogu swoje znajduje się plik adb.exe (z wyjątkiem sytuacji, gdy dodano go do zmiennej PATH). Spowoduje to wyłączenie wszystkich wiadomości typu toast na urządzenie z Androidem, które jest połączone (wirtualne lub nie). Jeśli istnieje wiele urządzeń, zostanie wybrany pierwszy znaleziony.

+0

To nie odpowiada na pytanie, chce tylko Sangha_development wyłączyć kilka Toast, nie wszystkie. –

+0

Myślę, że dlatego moja odpowiedź nie została wtedy przyjęta. Mimo to może być stosowany jako obejście tego problemu. Jeśli chcesz wyświetlać inne wiadomości użytkownikowi, możesz naśladować zachowanie przypominające toast za pomocą niestandardowego okna dialogowego, które automatycznie wyłącza się po kilku sekundach. To nie jest takie trudne ... – Jenever