2013-04-18 10 views
5

Bardzo dużo badałem na temat tego pytania. W tym tygodniu zadałem pytanie: a related. Najbardziej przydatne i odpowiednie linki w tym obszarze to this i this. Chcę zrozumieć, jak to działa i wszystko, jeśli jest zaimplementowana jako aplikacja zastępująca ekran główny.Zrozumienie implementacji blokady niestandardowej w systemie Android przy użyciu techniki wymiany ekranu głównego

Szybkie pytania:

  • Jeśli wdrożony ekran powinien być ustawiony jako domyślny? Nasz zamiennik ekranu głównego lub oryginalny ekran główny?
  • Proszę przeczytać komentarze po odpowiedzi na this question, gdzie pytający wymyślił sposób, aby to zrobić. Na koniec mówi:

    "Wymyślił to! Musisz wyłączyć manifestu zamiaru filtr przy użyciu setComponentEnabledSetting(), a następnie włącz go ponownie, gdy aktywność wyskakuje. Dzięki za pomoc!"

Co to dokładnie oznacza? Nie bardzo rozumiem tę logikę tutaj. Proszę pomóż?

  • Zasadniczo mam te same wątpliwości co tego Asker (patrz komentarzebelow the answer przez @CoffeeCrisp ). Ale nie jestem w stanie zrozumieć rozwiązania i co dokładnie się tutaj wydarzyło. Proszę pomóż?

Dzięki.

Edycja: Nie uwzględniaj tego. Jeśli od mojego końca wymaga się poprawy, zasugeruj w komentarzu, aby uzyskać czas na wprowadzenie zmian. Dzięki wielkie.

+0

Sanket, czy możesz ponownie wyjaśnić pytanie. Nie jestem pewien twojego problemu. –

+0

Implementuję mój niestandardowy ekran blokady jako aplikację wymiany domu, a następnie w logikę odblokowywania (Przesuń, by zamknąć ekran blokady), wyłącz alias aktywności (KATEGORIA_KATALOGI), aby uzyskać domyślny ekran główny bez wyskakującego okienka dla aplikacji. I włącz ten alias aktywności w odbiorniku transmisji (ACTION_SCREEN_OFF), aby uzyskać niestandardowy ekran blokady za każdym razem, gdy uruchomię urządzenie (SCREEN_ON). I ustawiam ekran blokady custome, aby odratować jako ekran główny. Moim problemem jest to, że dostaję mój ekran blokady tylko jeden raz i po odblokowaniu mojego ekranu blokady niestandardowej, nie jestem w stanie uzyskać go ponownie, gdy zaczynam (SCREEN_ON) moje urządzenie plz pomóż mi w tym, jak to naprawić –

+0

czy próbowałeś nacisnąć przycisk Home sprzętu, a następnie ustawić aplikację jako domyślny program uruchamiający (zawsze)? To może załatwić sprawę. –

Odpowiedz

3
  1. Jeśli wdrożył aplikację zastępczą ekranu głównego, aplikacja powinna być ustawiony jako domyślny ekran wyrzutnia/home.

  2. setComponentEnabledSetting() umożliwia zastąpienie filtrów zamiany w manifeście i zasadniczo ich wyłączenie. Wygląda na to, że przejął kontrolę nad intencją programu uruchamiającego po odblokowaniu użytkownika, aby mógł wyświetlić domyślny ekran główny.

Mimo to nie polecam pisania zamiennika ekranu blokady, jest zbyt wiele problemów, jest on hacky i niezabezpieczony. Skup się na widżetach ekranu blokady.

+0

Dzięki za pomoc.Szybkie obserwacje: (1) Jeśli moja aplikacja jest domyślnym domem, to po naciśnięciu przycisku sprzętowego "home" spróbuje uruchomić blokadę zamiast prawdziwego domu? Dobrze? (2) Wydaje mi się, że po uruchomieniu programu uruchamiającego/ekranu głównego w opcji "zawsze używaj", pozostanie on taki, jaki jest i inne ekrany główne zostaną wyłączone? (chyba że aplikacje są ponownie ustawione). W tej sytuacji, jak wrócić do pierwotnego ekranu głównego? (3) Co się stanie, jeśli zaimplementuję całość jako aplikację, a nie jako zamiennik ekranu głównego, czy przewidujecie jakieś problemy z tym związane? DZIĘKI WIELKIE!!! –

+0

1. Jeśli wyłączysz filtr intencji po odblokowaniu, nie powinieneś. 3. Jeśli zaimplementujesz go jako aplikację, naciśnięcie przycisku home pozwoliłoby użytkownikowi na ominięcie go. Jeśli jeszcze tego nie zrobiłeś, ściągnij masę aplikacji do blokowania ekranu z rynku i sprawdź, co robią, prawie wszystkie z nich to zamienniki ekranu głównego, w tym Facebook Home. – Luke

Powiązane problemy