我想开发一个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();
}
}
任何帮助表示赞赏!
答案 0 :(得分:1)
将" AND " + Browser.BookmarkColumns.DATE + "BETWEEN ? AND ?"
附加到您的sel
变量,并在查询方法new String[]{startdate, enddate}
中传递selectionArgs
。
根据您的要求修改startdate
和enddate
。此方法将在特定时间段之间返回数据。我们只是在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);