Чтение истории браузера в Marshmallow And Nougat Android

Я пытаюсь использовать Android Browser.BOOKMARKS_URI в Android Marshmallow. До Lollipop существовал способ чтения истории из браузера Chrome с использованием разрешения. Но в Marshmallow разрешение убрано. Доступна ли какая-либо другая альтернатива для чтения истории браузера на устройстве Marshmallow?

Я ссылаюсь на эту официальную документацию по Android, но не получить ясного представления.

Спасибо.


person Jignesh M. Mehta    schedule 03.01.2017    source источник
comment
Веб-браузеры никогда не были обязаны использовать поставщика Browser. Итак, вы должны сделать для Android 6.0+ то, что вы действительно должны были сделать для всех предыдущих версий Android: связаться с разработчиками каждого веб-браузера и спросить их, есть ли у них API для получения этих данных.   -  person CommonsWare    schedule 03.01.2017


Ответы (1)


Из соображений безопасности чтение/запись истории браузера теперь недоступна для приложения. Этот шаг был предпринят Google после API >= 23.

query() вызывает hasReadAccess(), который вызывает hasPermission("com.android.browser.permission.READ_HISTORY_BOOKMARKS"), который на API >= M игнорирует аргумент разрешения и вместо этого проверяет com.android.chrome.permission.READ_WRITE_BOOKMARK_FOLDERS. Это разрешение ограничено системными приложениями и приложениями, подписанными с помощью ключа Google.

https://developer.android.com/about/versions/marshmallow/android-6.0-changes.html#behavior-bookmark-browser

person Akarsh Agrawal    schedule 08.08.2017
comment
Есть ли другой способ получить это? - person Jignesh M. Mehta; 09.08.2017