Mam problem z nabyciem WakeLock. Wygląda na to, że nie działa. Próbuję uzyskać FULL_WAKE_LOCK, ale żaden wyświetlacz nie zostanie włączony ani moja aplikacja nie będzie w stanie wykonywać zadań.Android WakeLock
Używam następujące uprawnienia: android.permission.WAKE_LOCK
Mój kod nabywać wygląda tak:
PowerManager pm = (PowerManager) getBaseContext().getSystemService(Context.POWER_SERVICE);
wl = pm.newWakeLock(PowerManager.FULL_WAKE_LOCK|PowerManager.ACQUIRE_CAUSES_WAKEUP, "My Tag");
wl.acquire();
Co robię źle?
Edycja: Dodano kolejną flagę ACQUIRE_CAUSES_WAKEUP ... ale żadne zmiany w zachowaniu
Edit2: Wszystko staram się robić to, aby odtwarzać muzykę i budzić moje urządzenie się po pewnym zdarzeniu. Muzyka działa perfekcyjnie, ale urządzenie pozostaje czarne.
jestem pozyskania go w anctivity bo mają aktywność ustawiony jako odbiornik – Coxer
Nie jestem pewien, czy rozumiem. Aktywność nie może być BroadcastReceiver, ponieważ BroadcastReceiver jest klasą abstrakcyjną, a nie interfejsem (brak dziedziczenia wielokrotnego w Javie). Czy masz na myśli prywatny statyczny program BroadcastReceiver w klasie aktywności? Wszystko, co mówię, to, że musisz wziąć blokadę wake onReceive() w BroadcastReceiver nie w onCreate() działania, które zaczynasz od usługi. –