我在Api 18上做了这个,效果很好:
String[] proj = new String[] { BookmarkColumns.TITLE,BookmarkColumns.URL };
Uri uriCustom = Uri.parse("content://com.android.chrome.browser/bookmarks");
String sel = BookmarkColumns.BOOKMARK + " = 0"; // 0 = history, 1 = bookmark
Cursor mCur = getContentResolver().query(uriCustom, proj, sel, null, null);
mCur.moveToFirst();
@SuppressWarnings("unused")
String title = "";
@SuppressWarnings("unused")
String url = "";
if (mCur.moveToFirst() && mCur.getCount() > 0) {
boolean cont = true;
while (mCur.isAfterLast() == false && cont) {
title = mCur.getString(mCur.getColumnIndex(BookmarkColumns.TITLE));
url = mCur.getString(mCur.getColumnIndex(BookmarkColumns.URL));
Log.e("title" , title);
Log.e("url" , url);
// Do something with title and url
mCur.moveToNext();
}
}但是在API 23上,它不起作用,我在Android.Manifest上添加了这个
<uses-permission android:name="com.android.browser.permission.READ_HISTORY_BOOKMARKS"/>发布于 2017-10-19 11:10:45
请参阅此链接,介绍Android6.0对书签浏览器行为的更改:https://developer.android.com/about/versions/marshmallow/android-6.0-changes.html#behavior-bookmark-browser
此版本删除了对全局书签的支持。android.provider.Browser.getAllBookmarks()和android.provider.Browser.saveBookmark()方法现在被删除。同样,READ_HISTORY_BOOKMARKS和WRITE_HISTORY_BOOKMARKS权限也会被删除。如果应用程序的目标是Android6.0 (API级别23)或更高版本,则不要访问全局提供程序的书签或使用书签权限。相反,应用程序应该在内部存储书签数据。
https://stackoverflow.com/questions/46828417
复制相似问题