Android 在安卓系统中,在锁定模式下收到通知时避免屏幕照明(唤醒)

Android 在安卓系统中,在锁定模式下收到通知时避免屏幕照明(唤醒),android,Android,我目前正在构建一个应用程序,如果我的android手机处于锁定状态,我希望在收到任何通知时避免屏幕照明 我试图找到解决办法,但我找不到任何办法 我在switch.setOnCheckedChangeListener(这个)上尝试了下面的代码 但它不起作用 if (Build.VERSION.SDK_INT >= 23) { if ((notificationManager != null) && !notificationManager.isNotification

我目前正在构建一个应用程序,如果我的android手机处于锁定状态,我希望在收到任何通知时避免屏幕照明

我试图找到解决办法,但我找不到任何办法

我在
switch.setOnCheckedChangeListener(这个)上尝试了下面的代码
但它不起作用

if (Build.VERSION.SDK_INT >= 23) {
    if ((notificationManager != null) && !notificationManager.isNotificationPolicyAccessGranted()) {
        Intent intent = new Intent(android.provider.Settings.ACTION_NOTIFICATION_POLICY_ACCESS_SETTINGS);       
        startActivityForResult(intent, RQS_ENABLE_DO_NOT_DISTURB_SCREEN_FLASH);
    } else {
        if (b) {
            notificationManager.setInterruptionFilter(NotificationManager.INTERRUPTION_FILTER_NONE);
        } else {
            notificationManager.setInterruptionFilter(NotificationManager.INTERRUPTION_FILTER_ALL);
        }
    }
} else {
    Toast.makeText(this, "Don't have notification policy permissions", Toast.LENGTH_LONG);
}
有人能帮我做这件事吗


提前感谢。

请将这些行添加到活动开始处,在
setContentView
之前和
super之后。一旦创建

getWindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED
                + WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED
                + WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD
                + WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON
                + WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);

您可以从标志中避免
WindowManager.LayoutParams.FLAG\u KEEP\u SCREEN\u ON

请在活动开始时,在
setContentView
之前和
super.onCreate
之后添加这些行:

getWindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED
                + WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED
                + WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD
                + WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON
                + WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);

您可以从标志中避免
WindowManager.LayoutParams.FLAG\u KEEP\u SCREEN\u打开。
发布您尝试的代码首先,您只能管理应用程序创建的通知。如果要禁用所有应用程序的通知,则不可能。请澄清这一点。非常感谢您的即时回复…哦,不…“我不能禁用所有应用程序的通知”…我认为应该有一种方法来做到这一点…但不幸的是,我们无法得到…任何方式感谢…发布您尝试的代码首先,您只能管理应用程序创建的通知。如果要禁用所有应用程序的通知,则不可能。请澄清这一点。非常感谢您的即时回复…哦,不…“我不能禁用所有应用程序的通知”…我认为应该有一种方法来做到这一点…但不幸的是,我们无法得到…任何方式感谢…非常感谢您的回答,但它对我不起作用。我这样使用它
super.onCreate(savedInstanceState);getWindow().addFlags(WindowManager.LayoutParams.FLAG\u锁定时显示\u+WindowManager.LayoutParams.FLAG\u硬件\u加速+WindowManager.LayoutParams.FLAG\u解除\u键盘保护+WindowManager.LayoutParams.FLAG\u打开屏幕);setContentView(R.layout.activity_main)当任何通知到达锁定状态时,我的锁屏仍闪烁(闪电)。将此行添加到AndroidManifest.xml:android:showOnLockScreen=“true”@ShwetaStill我的锁屏在通知到达时闪烁。通过使用android:showOnLockScreen=“true”
我可以在收到通知时显示该活动。我希望在收到任何通知时避免屏幕闪烁(闪电)。非常感谢您的帮助。这是Android的默认操作。在Redmi这样的风格中,默认情况下会启用此“通知时唤醒设备”。我们无法处理这个问题。哦,不……我在Redmi中测试了它,但它不起作用,我刚刚在索尼Xperia和三星galaxy s5中测试了它,但它在“通知到达锁定状态时关闭屏幕”中不起作用。无论如何,谢谢..@HarshThank非常感谢你的回答,但它对我不起作用。我这样使用它
super.onCreate(savedInstanceState);getWindow().addFlags(WindowManager.LayoutParams.FLAG\u锁定时显示\u+WindowManager.LayoutParams.FLAG\u硬件\u加速+WindowManager.LayoutParams.FLAG\u解除\u键盘保护+WindowManager.LayoutParams.FLAG\u打开屏幕);setContentView(R.layout.activity_main)当任何通知到达锁定状态时,我的锁屏仍闪烁(闪电)。将此行添加到AndroidManifest.xml:android:showOnLockScreen=“true”@ShwetaStill我的锁屏在通知到达时闪烁。通过使用android:showOnLockScreen=“true”
我可以在收到通知时显示该活动。我希望在收到任何通知时避免屏幕闪烁(闪电)。非常感谢您的帮助。这是Android的默认操作。在Redmi这样的风格中,默认情况下会启用此“通知时唤醒设备”。我们无法处理这个问题。哦,不……我在Redmi中测试了它,但它不起作用,我刚刚在Sony Xperia和三星galaxy s5中测试了它,但它在“通知到达锁定状态时关闭屏幕”中不起作用。无论如何,谢谢。@Harsh