Pracuję nad małą aplikacją użytkową, która skanuje kody kreskowe 2D, a następnie przesyła każdy kod kreskowy do usługi IntentService, w której wykonywane jest dłuższe zadanie.Czy można przechowywać wiele blokad Wake?
Po wyświetleniu aktywności urządzenie powinno nie dopuszczać do snu, dopóki kod kreskowy nie zostanie przetworzony w serwisie. Jeśli usługa zakończy przetwarzanie, zatrzymuje się sama, ale aktywność powinna być nadal widoczna.
chciałbym posiadać SCREEN_DIM_WAKE_LOCK blokada wybudzenia podczas cyklu aktywności, ale ten typ nie przeszkadza CPU od spania, ja też trzeba nabyć PARTIAL_WAKE_LOCK w działalności, gdy nowy kod 2D jest skanowany i zwolnij go w usłudze intent po jej przetworzeniu.
Celem SCREEN_DIM_WAKE_LOCK jest uniknięcie u użytkownika niedogodności związanych z pchnięciem przycisku zasilania co kilka sekund, aby obudzić urządzenie i móc odczytać nowy kod kreskowy. Użytkownik będzie musiał czytać wiele kodów jeden po drugim, a działanie powinno być dostępne nawet dla krótkich interwałów, w których nie ma interakcji użytkownika.
Wiem, że w Androidzie nie ma 100% gwarancji, że aplikacja jest na wierzchu, nie jest zamknięta lub jest na pierwszym planie z powodu kilku warunków, których moja aplikacja nie może kontrolować, ale chciałbym pójść tak daleko, jak to możliwe.
Czy możliwe jest posiadanie wielu blokad WakeLocks? Gdzie mogłyby zostać uznane za wchodzące w grę zarówno przez działanie, jak i usługę? (Singleton, rozszerzenie aplikacji?)
+1. Ale zwalniam ekran WakeLock w 'onStop', ponieważ nie chcę, żeby spał, kiedy naciskam okno dialogowe. –
Założę się, że gdy okno dialogowe jest z przodu, nie skanujesz już kodów kreskowych, ponieważ użytkownik musi odpowiedzieć na okno dialogowe, Czy nie jest w porządku, aby pozwolić systemowi spać, jeśli użycie nie odpowiada na dialog w czasie? – Madushan
Tak, cóż, wszystko zależy od tego, jak długo zajmuje wyłącznik czasowy. Jeśli trwa to 3 sekundy, naciskanie przycisku zasilania jest denerwujące. Jeśli to potrwa dłużej, nic mi nie jest. W zależności od obciążenia pracy mogę nawet zrzucić blokadę ekranu. –