Как программно получать журналы вызовов (историю) в Oreo версии 8.0 (уровень API 26) или более поздней версии? До этой версии работает нормально.
нет, он не запускает никаких ошибок / предупреждений public Loader <Cursor> onCreateLoader (int loaderID, Bundle args) {switch (loaderID) {case URL_LOADER: return new CursorLoader (CallLog.Calls.CONTENT_URI,); по умолчанию: return null; }}
Какая была последняя версия ОС, где она работала? Начиная с api 23, все разрешения манифеста должны быть предоставлены пользователем вручную. Вы это допустили?
да, все разрешения предоставляются пользователем во время выполнения. И целевая версия - 26.
Я проверил, что образец кода для журналов вызовов uri, и он отлично работает. Вы уверены, что ваш URL_LOADER является действующим идентификатором загрузчика? Поместите несколько журналов в свой код, похоже, что ваш переключатель переходит в состояние по умолчанию.
Я поставлю журнал для URI_LOADER, но он будет переключать регистр, а не регистр по умолчанию.
Вы запускаете свое приложение на реальном устройстве или эмуляторе? В таблице есть логи? Попробуйте указать new String[] {"count(*) AS count"} в качестве проекции в вашем запросе (с выбором или без) и проверьте это.
Я запустил приложение на реальном устройстве. Я проверю, как вы говорите.
нет эффекта, пожалуйста, дайте мне полный список журналов вызовов в версии oreo, спасибо в расширенном
Можете ли вы скачать и проверить свой код в эмуляторе oreo? У меня нет устройства с oreo, но я думаю, что не должно быть столь важных отличий, как доступ к таблице uri. Фактически, count(*) as count не работает в таблице вызовов, но я не знаю почему, потому что он работает с любыми другими таблицами.
Я решил эту проблему. Спасибо за поддержку.




Давайте поделимся кодом, который вы попытаетесь использовать. Есть ли какие-либо предупреждения / ошибки logcat?