2013-03-12 3 views

ответ

4

Экран блокируется только тогда, когда устройство выключает экран.

Вы должны расширить BroadcastReceiver и реализовать onReceive, как это:

public class YourBroadcastReceiver extends BroadcastReceiver { 
    @Override 
    public void onReceive(Context context, Intent intent) { 
     if (Intent.ACTION_SCREEN_OFF.equalsIgnoreCase(intent.getAction())) { 
      //screen has been switched off! 
     } 
    } 
} 

Тогда вы просто должны зарегистрировать его, и вы начнете получать события, когда экран выключен:

IntentFilter filter = new IntentFilter(Intent.ACTION_SCREEN_ON); 
filter.addAction(Intent.ACTION_SCREEN_OFF); 
appBroadcastReceiver = new AppBroadcastReceiver(yourActivity); 
registerReceiver(appBroadcastReceiver, filter); 

Существует крайний случай, когда пользователи устанавливают свое устройство на блокировку n секунд после выключения экрана, вы можете добавить чек в свой приемник вещания для ACTION_SCREEN_ON и проверить время между ними Эм.

+0

ОК, это здорово до сих пор, но мне нужно событие, если пользователь переключится с экрана блокировки на главный экран - sry вопрос был неточным ... – Cilenco

+0

Слушайте 'ACTION_SCREEN_ON' и' ACTION_USER_PRESENT' в этом случае –

Смежные вопросы