即使屏幕已锁定,如何在设备上启动 Activity。我试过如下但它不工作。
广播接收器:
Intent alarmIntent = new Intent("android.intent.action.MAIN");
alarmIntent.setClass(context, Alarm.class);
alarmIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
alarmIntent.addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED +
WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD +
WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON +
WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);
context.startActivity(alarmIntent);
最佳答案
您可以通过两种方式实现这一目标:
按照@Yup 在这篇博文中的说明使用唤醒锁。
使用窗口标志。
使用窗口标志:
在onReceive(...)
中打开您想要启动的Activity A。将此粘贴到 Activity A 的 onCreate()
final Window win= getWindow();
win.addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED | WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD);
win.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON | WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);
确保你没有在 setContentView(...)
之前粘贴它 :-)
关于android - 即使屏幕在 Android 中被锁定,启动 Activity 屏幕,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20113161/