【问题标题】:Read browser history in Marshmallow And Nougat Android在 Marshmallow And Nougat Android 中读取浏览器历史记录
【发布时间】:2017-05-17 14:52:20
【问题描述】:

我正在尝试在 Android Marshmallow 中使用 Android Browser.BOOKMARKS_URI。在 Lollipop 之前,有一种方法可以使用权限从 Chrome 浏览器中读取历史记录。但在 Marshmallow 中,权限被删除。是否有其他方法可用于在 Marshmallow 设备上读取浏览器历史记录?

我提到了This Official Android Documentation,但不清楚。

谢谢。

【问题讨论】:

  • Web 浏览器从来没有义务使用Browser 提供程序。因此,对于 Android 6.0+,您必须为所有早期版本的 Android 做真正必须做的事情:联系每个 Web 浏览器的开发人员,并询问他们是否有用于获取这些数据的 API。

标签: android android-6.0-marshmallow android-browser


【解决方案1】:

由于安全原因,应用程序现在无法访问浏览器历史记录读/写。这一步是谷歌在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

【讨论】:

  • 还有其他方法可以得到这个吗?
猜你喜欢
  • 2011-02-04
  • 2016-07-22
  • 1970-01-01
  • 2017-11-01
  • 2012-05-10
  • 2011-11-14
  • 2013-05-21
  • 1970-01-01
  • 2013-11-18
相关资源
最近更新 更多