Это не гарантируется для всех версий 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