权限READ_HISTORY_BOOKMARKS不适用于API 23

Krz*_*wka 1 android

我在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();
            }
        }
Run Code Online (Sandbox Code Playgroud)

但是在API 23上它不起作用我在Android.Manifest上添加了它

 <uses-permission android:name="com.android.browser.permission.READ_HISTORY_BOOKMARKS"/>
Run Code Online (Sandbox Code Playgroud)

Naw*_*rez 7

请参阅此链接,介绍Android 6.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权限.如果您的应用面向Android 6.0(API级别23)或更高版本,请勿访问全局提供商的书签或使用书签权限.相反,您的应用应该在内部存储书签数据.