我有一个广播接收器,如果屏幕打开,会弹出一个活动。
然而,当屏幕打开时,通过通知(主要是通话),活动将尝试被呼叫,但将被锁定屏幕阻止,并且呼叫将被作为通知放置,而不是作为通知的屏幕试着接听电话。
有没有办法让我的广播接收器只识别锁定屏幕是否已打开?
我的广播接收器现在看起来像这样。
public class MyService extends Service {
BroadcastReceiver bd;
public MyService() {
}
class ScreenReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Intent startupIntent = new Intent(context, ScreenJump.class);
startupIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(startupIntent);
}
public ScreenReceiver()
{
}
}
@Override
public void onCreate()
{
super.onCreate();
IntentFilter filter = new IntentFilter(Intent.ACTION_SCREEN_ON);
bd = new ScreenReceiver();
registerReceiver(bd, filter);
}
答案 0 :(得分:1)
尝试Intent.ACTION_USER_PRESENT
广播操作:设备唤醒后用户在场时发送(例如,当键盘锁定消失时)。 http://developer.android.com/reference/android/content/Intent.html#ACTION_USER_PRESENT