检查Android用户的“设备被锁定时”通知设置

时间:2015-01-04 17:35:44

标签: android android-5.0-lollipop

在Android L上,我想在用户设置设置为“显示所有通知内容”时向用户显示锁定屏幕上的通知,否则内容将毫无意义,我只是不想在所有

知道如何在代码中验证用户通知设置吗?

谢谢!

2 个答案:

答案 0 :(得分:3)

您需要阅读

Settings.Secure.LOCK_SCREEN_ALLOW_PRIVATE_NOTIFICATIONS = "lock_screen_allow_private_notifications"

Settings.Secure.LOCK_SCREEN_SHOW_NOTIFICATIONS = "lock_screen_show_notifications"

仅当两者均为1时,您才需要显示通知。 但由于这些值不属于公共API,因此将来可能会发生变化,或者可能无法在所有设备上运行

int show_all = Settings.Secure.getInt(getContentResolver(),"lock_screen_allow_private_notifications", -1); 
int noti_enabled = Settings.Secure.getInt(getContentResolver(),"lock_screen_show_notifications", -1); 

if(show_all > 0 && noti_enabled > 0){
//post noti
}

答案 1 :(得分:1)

据我所知,您无法检查该设置,但您的应用可以在安全锁定屏幕上显示通知时控制可见的详细程度。要控制可见性级别,请致电setVisibility()Notification.Builder.setVisibility)并指定其中一个值:

VISIBILITY_PUBLIC:显示通知的完整内容。

VISIBILITY_PRIVATE:显示基本信息,例如通知的图标,但会隐藏通知的完整内容。

VISIBILITY_SECRET:不显示任何内容,甚至不包括通知的图标。

当可见性级别为VISIBILITY_PRIVATE时,您还可以提供隐藏个人详细信息的通知内容的编辑版本。例如,SMS应用程序可能会显示一条通知,显示“您有3条新短信”,但会隐藏邮件内容和发件人。要提供此替代通知,请先使用Notification.Builder创建替换通知。创建私有通知对象时,请通过setPublicVersion()方法将替换通知附加到其中。

Sources