2011-10-21 10 views
8

Wydaje się, że istnieją różne opinie na temat tego, czy możliwe jest uchwycenie ekranu ACTION_USER_PRESENT odblokowanie ekranu za pośrednictwem manifestu.ACTION_USER_PRESENT w manifeście z BroadcastReceiver

Android Broadcast Receiver Not Working

Wątek implikuje tak można to zrobić::

Ten wątek nie to nie można zrobić implikuje

Broadcast Receiver for ACTION_USER_PRESENT,ACTION_SCREEN_ON,ACTION_BOOT_COMPLETED

nie jestem w stanie uzyskać zdarzenie działające z emulatorem 2.3.3 lub 3.2.

Czy ktoś inny ma ostatnio doświadczenie z tym? A może próbka kodu do udostępnienia?

Odpowiedz

10

używania odbiornika:

public class Receive extends BroadcastReceiver { 

if (intent.getAction() != null) { 
      if 
        (intent.getAction().equals(Intent.ACTION_USER_PRESENT)) { 
Intent s = new Intent(context, MainActivity.class); 
        s.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 

        context.startActivity(s); 
}} 

iw swoim manifeście:

<receiver 
     android:name=".Receive" 
     android:enabled="true" 
     android:exported="false"> 
     <intent-filter> 
      <action android:name="android.intent.action.USER_PRESENT"/> 
     </intent-filter> 
    </receiver> 
+0

użyłem powyżej kodzie, ale po raz pierwszy moja aktywność zamek jest otwarty, ale nie wiem po tej rozmowy to automaticlly okno dialogowe tapety kiedy ekran jest włączony.Dlaczego to okno dialogowe otwiera się zamiast mojej aktywności blokowania, gdy ekran na ... proszę pomóż szybko dzięki ... –

+0

Nie użyłbym 'android: exported =" false "' który również nie jest dozwolony w ' '-Tag, zobacz http://stackoverflow.com/questions/29081414/why-wont-this-broadcast-receiver-wor k-in-lollipop # comment58423396_29274695 – OneWorld

Powiązane problemy