我们可以在我们的Android应用程序中获取Chrome浏览历史记录/书签

时间:2012-10-30 10:45:39

标签: android android-contentprovider android-browser google-chrome-app

我们可以使用READ_HISTORY_BOOKMARKS权限获取我们在默认浏览器中获取的Chrome浏览历史记录/书签吗? PS:我只是想知道它有可能吗?

1 个答案:

答案 0 :(得分:14)

是的,这是非常有可能的。 使用此uri:content://com.android.chrome.browser/bookmarks代替Browser.BOOKMARKS_URI

String[] proj = new String[] { Browser.BookmarkColumns.TITLE,Browser.BookmarkColumns.URL };
Uri uriCustom = Uri.parse("content://com.android.chrome.browser/bookmarks");
String sel = Browser.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(Browser.BookmarkColumns.TITLE));
        url = mCur.getString(mCur.getColumnIndex(Browser.BookmarkColumns.URL));
        // Do something with title and url
        mCur.moveToNext();
    }
}

没有对代码进行错误测试,但它应该可以正常工作。重要的是要知道要使用的uri。阅读thisthis可能会有所帮助。