如何以编程方式在Android版本> 23上获取浏览器历史记录?

问题描述 投票:0回答:1

我们可以看到浏览器API已从Android版本> 23中删除,那么是否有其他方法可以获得用户许可的浏览器历史记录?提前致谢。

android browser
1个回答
0
投票

与引用的文档相反,com.android.browser.permission.READ_HISTORY_BOOKMARKS仍然由框架定义,仍然可以通过应用程序获取。不幸的是,在Marshmallow及更高版本中,Chrome会检查不同的权限,即不允许常规应用获取的权限。出于兼容性原因,当权限检查不可避免地失败时,Chrome会返回零行而不是抛出SecurityException。

你可以在这里看到源代码:

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

© www.soinside.com 2019 - 2024. All rights reserved.