如何在特定时间段内获取android中的浏览历史记录

时间:2015-04-09 06:32:23

标签: android android-browser

我想开发一个Android应用程序,通过使用AlaramManager在一定的时间间隔内访问浏览器的历史记录,但是当我访问历史信息时,我将获得新信息以及之前的历史记录。有没有办法获得最后几(5或10)分钟的历史

以下是访问浏览历史记录的代码

        String[] proj = new String[] { Browser.BookmarkColumns.TITLE, Browser.BookmarkColumns.URL , Browser.BookmarkColumns.DATE};
        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);
        //this.startManagingCursor(mCur);
        mCur.moveToFirst();

        String title = "";
        String url = "";
        String date_time="";
        if (mCur.moveToFirst() && mCur.getCount() > 0) {
            while (mCur.isAfterLast() == false) {

                title = mCur.getString(mCur.getColumnIndex(Browser.BookmarkColumns.TITLE));
                url = mCur.getString(mCur.getColumnIndex(Browser.BookmarkColumns.URL));
                date_time=mCur.getString(mCur.getColumnIndex(Browser.BookmarkColumns.DATE));
                // Do something with title and url
                System.out.println("Title="+title+"---"+url);
                mCur.moveToNext();
            }
        } 

任何帮助表示赞赏!

1 个答案:

答案 0 :(得分:1)

" AND " + Browser.BookmarkColumns.DATE + "BETWEEN ? AND ?"附加到您的sel变量,并在查询方法new String[]{startdate, enddate}中传递selectionArgs。 根据您的要求修改startdateenddate。此方法将在特定时间段之间返回数据。我们只是在sql查询中获取两个特定时间段之间的数据。例如:

String sel = Browser.BookmarkColumns.BOOKMARK + " = 0 " +" AND " + Browser.BookmarkColumns.DATE + "BETWEEN ? AND ?"; // 0 = history, 1 = bookmark
Cursor mCur = getContentResolver().query(uriCustom, proj, sel, new String[]{startdate, enddate}, null);