如何在Android Marshmallow中获取Chrome历史记录和书签(API> = 23)?

直到API等级22(即直到Lollipop),有一种方法可以使用权限com.android.browser.permission.READ_HISTORY_BOOKMARKS从Chrome应用程序中读取历史记录和书签( 如此主题所示)。

现在,在Android API = 23 Marshmallow中,由于整个浏览器书签系统已在Marshmallow中删除( 此处更改 ),因此上述方法不再起作用。

这是一个线程 ,显示了为什么这不再可能。

在我的研究中,到目前为止,我还没有find好消息。 谷歌确实杀死了系统书签function( 这里和这里 ),问题是Chrome浏览器是否会以任何方式公开它?

在Android Marshmallow中,有没有替代/方式来阅读Chrome中的书签和历史记录(甚至Chrome特定的答案会回答这个问题)?

    Related of "如何在Android Marshmallow中获取Chrome历史记录和书签(API> = 23)?"

    与引用的文档相反, 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密钥签名的系统应用和应用。

    您可以通过键入来查看历史记录

     Chrome://history 

    作为你的url。