Способ получить событие разблокировки в android?
Есть ли способ получить что-то вроде PHONE_UNLOCKED
(с BroadcastReceiver
какого-то вида)?
У меня работает служба, которая показывает Toast
, когда экран включен. К сожалению, некоторые телефоны не показывают его, пока они не будут разблокированы. В большинстве случаев сообщение Toast
уже исчезло.
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