0

我可以使用 CONTENT_URI 指向的以下光标获取 Android 2.2 上的默认历史记录Browser.BOOKMARKS_URI

cursor = context.getContentResolver().query(CONTENT_URI, Browser.HISTORY_PROJECTION, null, null, null);

if (cursor.moveToLast()) 
        String url = cursor.getString(Browser.HISTORY_PROJECTION_URL_INDEX);

但它在 android ICS 上不起作用我得到了一个错误的 url,它总是一样的:1970-01-01 00:00:00 http://www.samsung.com/m-manual/common

PS:获取我使用的日期cursor.getLong(Browser.HISTORY_PROJECTION_DATE_INDEX)

4

1 回答 1

0

您是否也尝试过getAllBookmarks()

Cursor cursor = Browser.getAllBookmarks(getContentResolver());
if (cursor != null) {
    try {
        while (cursor.moveToNext()) {
            String url = cursor.getString(cursor.getColumnIndex(Browser.BookmarkColumns.URL));
        }
    } finally {
        cursor.close();
    }
}

编辑:

String sortOrder = Browser.BookmarkColumns.DATE + " ASC";
Cursor cursor = getContentResolver().query(CONTENT_URI, Browser.HISTORY_PROJECTION, null, null, sortOrder);
if (cursor != null) {
    try {
        if (cursor.moveToLast()) {
            String url = cursor.getString(Browser.HISTORY_PROJECTION_URL_INDEX);
            long date = cursor.getLong(Browser.HISTORY_PROJECTION_DATE_INDEX);
        }
    } finally {
        cursor.close();
    }
}

其实为什么http://www.samsung.com/m-manual/common网址是错误的?你期待什么网址?您尚未指定任何要排序的列。通过cursor.moveToLast()您将光标移动到最后一项,而不是遍历书签。

于 2012-07-30T20:14:10.513 回答