Android разблокировать экран намерения? - PullRequest
8 голосов
/ 10 мая 2010

Есть ли намерение, которое срабатывает, когда пользователь разблокирует свой экран? Я хочу, чтобы мое приложение регулировало яркость при включении экрана, но проблема, с которой я столкнулся, заключается в том, что экран намерения срабатывает на экране блокировки, и он не регулирует отображение на этом экране.

Ответы [ 3 ]

10 голосов
/ 05 января 2011

Да, ACTION_USER_PRESENT транслируется после разблокировки пользователем:

http://developer.android.com/reference/android/content/Intent.html#ACTION_USER_PRESENT

Обратите внимание, что это защищенная широковещательная передача, и если пользователь использует замену экрана блокировки, например WidgetLocker или NoLock, USER_PRESENT может не отправляться или отправляться не в то время.

Для определения разблокировки WidgetLocker см: http://teslacoilsw.com/widgetlocker/developers

7 голосов
/ 22 октября 2014

Добавить получателя в файл описания

<receiver android:name=".ScreenReceiver">
            <intent-filter>
                <action android:name="android.intent.action.USER_PRESENT" />
            </intent-filter>
        </receiver>

Создание приемника вещания, который работает, чтобы открывать приложение, когда телефон разблокирован.

public class ScreenReceiver extends BroadcastReceiver{

    @Override
    public void onReceive(Context context, Intent intent) {
        System.out.println(intent.getAction());
        if (intent.getAction().equals(Intent.ACTION_USER_PRESENT))
        {
            Intent intent1 = new Intent(context,MainActivity.class); 
            intent1.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);        
            context.startActivity(intent1);
        }
    }

Я уверен, что это будет работать.

2 голосов
/ 10 мая 2010

Посмотрите на метод disableKeyguard в классе KeyguardLock .

...