這並不保證適用於所有類型的Android,但根據文檔,您可以閱讀瀏覽器數據庫。
瀏覽器是一個靜態輔助,提供了訪問書籤數據庫,並輕而易舉地滿足您的要求,也可通過一種稱爲getAllVisitedUrls暴露瀏覽器歷史記錄。
Cursor cursor=Browser.getAllVisitedUrls(getContentResolver());
cursor.moveToFirst();
int occasions=0;
while (cursor.moveToNext()) {
String urlVisited=cursor.getString(cursor.getColumnIndex(BookmarkColumns.URL));
if (urlVisited.contains("www.google.")) {
occasions++;
}
Log.d("History",cursor.getString(cursor.getColumnIndex(BookmarkColumns.URL)));
}
Log.d("History","occasions="+occasions);
編輯:對不起,它已經接受的答案後更新這一點,但相反的是我最初寫的,你的確可以註冊偵聽更改書籤URI:
getContentResolver().registerContentObserver(Browser.BOOKMARKS_URI, true,
new ContentObserver(new Handler()) {
@Override
public void onChange(boolean selfChange) {
Log.d("History","Bookmarks has changed");
super.onChange(selfChange);
}
});
希望這很有幫助。
編輯:我忽略提及,你需要添加一個權限到你的清單:com.android.browser.permission.READ_HISTORY_BOOKMARKS