Способ получить событие разблокировки в android?



Есть ли способ получить что-то вроде PHONE_UNLOCKEDBroadcastReceiver какого-то вида)?



У меня работает служба, которая показывает Toast, когда экран включен. К сожалению, некоторые телефоны не показывают его, пока они не будут разблокированы. В большинстве случаев сообщение Toast уже исчезло.

435   1  

1 ответ:

Есть действие широковещательного приемника ACTION_USER_PRESENT вот реализация ACTION_USER_PRESENT и ACTION_SHUTDOWN

Добавьте это в ваше приложение манифесты

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

Получать действия

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;

public class UserPresentBroadcastReceiver extends BroadcastReceiver {

    @Override
    public void onReceive(Context arg0, Intent intent) {

        /*Sent when the user is present after 
         * device wakes up (e.g when the keyguard is gone)
         * */
        if(intent.getAction().equals(Intent.ACTION_USER_PRESENT)){

        }
        /*Device is shutting down. This is broadcast when the device 
         * is being shut down (completely turned off, not sleeping)
         * */
        else if (intent.getAction().equals(Intent.ACTION_SHUTDOWN)) {

        }
    }

}

Comments

    Ничего не найдено.