如何在 Android 6.0 (API 23) 中继续使用浏览器书签更改

Posted

技术标签:

【中文标题】如何在 Android 6.0 (API 23) 中继续使用浏览器书签更改【英文标题】:How to continue using Browser Bookmark Changes in Android 6.0 (API 23) 【发布时间】:2016-01-24 22:16:40 【问题描述】:

在我的应用程序中,我一直在使用其中一些功能,这些功能在使用 android 6.0 (buildToolsVersion "23.0.1") 时会出现为 unknown,这些功能是:Browser.getAllVisitedUrls(getContentResolver());BookmarkColumns.URL 等。

如何在 Android 6.0 中使用相同的功能。

在list of things that have changed in Android 6.0 中,我看到以下内容:

Browser Bookmark Changes

此版本删除了对全局书签的支持。现在删除了 android.provider.Browser.getAllBookmarks() 和 android.provider.Browser.saveBookmark() 方法。同样,已删除 READ_HISTORY_BOOKMARKS 和 WRITE_HISTORY_BOOKMARKS 权限。如果您的应用面向 Android 6.0(API 级别 23)或更高版本,请勿从全局提供商访问书签或使用书签权限。相反,您的应用应在内部存储书签数据。

这到底是什么意思? **Instead, your app should store bookmarks data internally**???

我正在访问使用 Chrome 浏览器应用访问过的网站的历史记录(当然是在用户明确许可的情况下),如何继续这样做?

【问题讨论】:

“我以后如何使用相同的功能”——你不会。 “这到底是什么意思?相反,您的应用应该在内部存储书签数据???” -- 如果您使用书签提供程序来存储自己的书签(例如,您编写了自己的 Web 浏览器),请将书签存储在您自己的数据存储中(例如,SQLite 数据库)。 @CommonsWare 谢谢,所以这意味着无法获取 Chrome 应用程序的浏览器历史记录?这扼杀了我的应用程序中一个非常有用的功能。所以这不可能了? ***.com/questions/13137339/… "所以这意味着无法获取 Chrome 应用的浏览器历史记录?" -- 至少不是通过 Android SDK。我不知道 Chrome 团队是否通过其他一些记录和支持的公共 API 公开浏览器历史记录。 @CommonsWare 谢谢,我想你可以添加你的回复作为答案。 【参考方案1】:

如何在 Android 6.0 中使用相同的功能。

就 Android SDK 而言,你不能。

这到底是什么意思? “相反,您的应用应该在内部存储书签数据”???

如果您使用书签提供程序来存储您自己的书签(例如,您编写了自己的 Web 浏览器),请将您的书签存储在您自己的数据存储中(例如,SQLite 数据库)。

(理想情况下,现在编写一些代码来执行此操作并发布,这样设备升级到 Android 6.0 的用户就不会被锁定在您放入 Bookmarks 提供程序的书签之外)

所以这意味着无法获取 Chrome 应用的浏览器历史记录?

至少不是通过 Android SDK 的 Browser 提供程序。我不知道 Chrome 团队是否通过其他一些记录和支持的公共 API 公开浏览器历史记录。任何其他 Android 网络浏览器(例如 Firefox)也是如此。

【讨论】:

以上是关于如何在 Android 6.0 (API 23) 中继续使用浏览器书签更改的主要内容,如果未能解决你的问题,请参考以下文章

AndroidHttpClient 和 HttpGet API 在 Android 6.0 Marshmallow (API 23) 中已弃用

在 Android 6.0 Marshmallow (API 23) 上不推荐使用 getColor(int id)

FusedLocationApi.getLastLocation 总是返回 null(android 6.0,api 23)

Android 6.0 api 23 - 获得许可后,我的位置为空[重复]

用于 MediaRecorder Android 6.0 (API 23) 的“Seekable”文件描述符

解决方法:android 6.0(api 23) SDK,不再提供org.apache.http.*(只保留几个类)