如何通过代码访问?所以我可以自动为用户打开它,他们不必通过安全设置来启用它。
我无法在Android Studio中使用startActivity(new Intent(Settings.<>));
找到它,其中&lt;&gt;是设置屏幕的列表。
图片由Android Police提供
答案 0 :(得分:23)
Android 4.3中有an outstanding bug,Settings
中未列出通知侦听器屏幕操作。目前的解决方法是:
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中的值的方式。