通过代码访问Android 4.3中的新通知设置

时间:2013-08-13 14:43:51

标签: android notifications

如何通过代码访问?所以我可以自动为用户打开它,他们不必通过安全设置来启用它。

我无法在Android Studio中使用startActivity(new Intent(Settings.<>));找到它,其中&lt;&gt;是设置屏幕的列表。

Notification Access Screen

图片由Android Police提供

2 个答案:

答案 0 :(得分:23)

Android 4.3中有an outstanding bugSettings中未列出通知侦听器屏幕操作。目前的解决方法是:

startActivity(new Intent("android.settings.ACTION_NOTIFICATION_LISTENER_SETTINGS"));

答案 1 :(得分:2)

@CommonsWare提到的bug has been fixed as of Android 5.1 (API 22)。您现在可以使用此功能将用户带到通知访问屏幕:

startActivity(new Intent(Settings.ACTION_NOTIFICATION_LISTENER_SETTINGS));

我已经在多个Genymotion实例(4.3,4.4和5.1)以及运行4.3的Galaxy S3上测试了这个,并且这个解决方案在每种情况下都运行良好。

然而奇怪的是,当我在API 22之前的项目上使用这个字段时,Android Studio会给我一个警告,尽管它可以正常工作:

  

字段需要API 22(当前最小值为18):android.provider.Settings#ACTION_NOTIFICATION_LISTENER_SETTINGS

我认为应该可以安全地忽略此警告,类似于在任何版本的平台上使用Build.VERSION_CODES中的值的方式。

链接到文档:Settings.ACTION_NOTIFICATION_LISTENER_SETTINGS