8

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

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

通知访问屏幕

图片由安卓警察提供

4

2 回答 2

23

Android 4.3 中有一个突出的错误,通知侦听器屏幕操作未在Settings. 当前的解决方法是:

startActivity(new Intent("android.settings.ACTION_NOTIFICATION_LISTENER_SETTINGS"));
于 2013-08-13T15:04:32.473 回答
2

@CommonsWare 提到的错误已从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

于 2015-09-15T17:02:12.247 回答