有没有办法接收像PHONE_UNLOCKED
这样的东西(通过某种类型的BroadcastReceiver
)?
我有一个正在运行的服务,它会在屏幕打开时显示一个Toast
。不幸的是,一些手机只有在解锁后才会显示出来。大多数情况下,Toast
消息已经消失了。
发布于 2013-11-27 02:59:54
这里有一个广播接收器操作这里是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)) {
}
}
}
更新:
作为Android 8.0 (API级别26)后台执行限制的一部分,针对API级别26或更高级别的应用程序不能再在其清单中注册隐式广播的广播接收器。see
https://stackoverflow.com/questions/20224637
复制相似问题