有一个名为医疗Id的紧急应用程序。它有一个很棒的功能,可以在锁定屏幕上显示通知。用户只需双击通知即可打开活动。对于其他应用程序通知,如果用户点击,它会首先提示解锁。我正在寻找相同的功能,但无法实现相同的功能。我已经尝试在附加的窗口中添加标志。
@Override
public void onAttachedToWindow()
{
super.onAttachedToWindow();
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON &
WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD &
WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED &
WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON &
WindowManager.LayoutParams.FLAG_FULLSCREEN
);
}也将shownonlockscreen添加到清单中的活动中,但在打开活动之前会提示解锁屏幕。为了清楚起见,请看一下医疗id。我不知道他们用什么来绕过解锁。通知的电话设置在我的电话中是公开的。令人惊讶的是,即使你的手机通知设置是私人的,医疗id通知也会出现在那里,即使没有其他通知。任何线索都是有用的。
发布于 2017-06-07 14:34:38
您应该使用pipes |而不是&符号
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON|
WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD|
WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED|
WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);此外,这只适用于Android4.4以上版本
发布于 2018-11-16 17:10:04
如果您希望在单击锁屏通知时显示活动,可以在活动生命周期OnCreate中执行此操作
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O_MR1) {
setTurnScreenOn(true);
setShowWhenLocked(true);
} else {
window.addFlags(LayoutParams.FLAG_SHOW_WHEN_LOCKED);
window.addFlags(LayoutParams.FLAG_TURN_SCREEN_ON);
}
}https://stackoverflow.com/questions/44405090
复制相似问题