Почему этот код работает:
ActivityCompat.requestPermissions(thisActivity,
new String[]{Manifest.permission.READ_CONTACTS},
666);
## In the manifest
<uses-permission android:name="android.permission.READ_CONTACTS" />
и этот код не работает:
ActivityCompat.requestPermissions(thisActivity,
new String[]{Manifest.permission.BIND_NOTIFICATION_LISTENER_SERVICE},
666);
## In the manifest
<uses-permission android:name="android.permission.BIND_NOTIFICATION_LISTENER_SERVICE" />
Первый фрагмент запускает действие запроса разрешения, запрашивая разрешения на чтение контактов. Последний фрагмент не показывает активность, а в журналах есть это сообщение:
10-16 12:19:48.061 1138-3635/? I/ActivityManager: START u0 {act=android.content.pm.action.REQUEST_PERMISSIONS pkg=com.google.android.packageinstaller cmp=com.google.android.packageinstaller/com.android.packageinstaller.permission.ui.GrantPermissionsActivity (has extras)} from uid 10147 on display 0
Итак, что я должен сделать, чтобы запросить разрешения на уведомления? Целевой API — v24, а минимальная версия SDK — 23.
<uses-permission>
.BIND_NOTIFICATION_LISTENER_SERVICE
— это системное разрешение, которое ваше приложение не может иметь. - person CommonsWare   schedule 16.10.2016