在通知中使用 ACTION_SCREEN_ON 奇怪的行为
Using ACTION_SCREEN_ON weird behavior on notifications
我有一个广播接收器,如果屏幕打开,它会收到消息,并弹出 activity。
但是当屏幕打开时,通过通知(主要是呼叫) activity 将尝试呼叫但会被锁屏阻止,并且呼叫将作为通知,而不是试图接听电话的屏幕。
有没有办法让我的广播接收器只识别锁屏是否打开?
我的广播接收器现在看起来是这样。
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);
}
尝试Intent.ACTION_USER_PRESENT
广播动作:当设备唤醒后用户在场时发送(例如,当键盘锁消失时)。
http://developer.android.com/reference/android/content/Intent.html#ACTION_USER_PRESENT
我有一个广播接收器,如果屏幕打开,它会收到消息,并弹出 activity。
但是当屏幕打开时,通过通知(主要是呼叫) activity 将尝试呼叫但会被锁屏阻止,并且呼叫将作为通知,而不是试图接听电话的屏幕。
有没有办法让我的广播接收器只识别锁屏是否打开?
我的广播接收器现在看起来是这样。
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);
}
尝试Intent.ACTION_USER_PRESENT
广播动作:当设备唤醒后用户在场时发送(例如,当键盘锁消失时)。 http://developer.android.com/reference/android/content/Intent.html#ACTION_USER_PRESENT