我正在寻找一种方法来获取用户在 android 浏览器应用程序上访问的当前 URL。我发现我可以Browser.BOOKMARKS_URI
使用以下技术从数据库中获取上次访问的 URL:
Cursor cursor = context.getContentResolver().query(Browser.BOOKMARKS_URI,
Browser.HISTORY_PROJECTION, null, null,
Browser.BookmarkColumns.DATE + " DESC");
cursor.moveToNext();
String url = cursor.getString(Browser.HISTORY_PROJECTION_URL_INDEX);
cursor.close();
这样做的问题是,Browser.BOOKMARKS_URI
当用户按下以导航到浏览器中的上一页时,数据库没有得到更新,并且查询返回不正确的结果。
请参见以下示例:
- 用户导航到 www.google.com ->查询返回“www.google.com”
- 用户导航到 www.imdb.com ->查询返回“www.imdb.com”
- 用户按返回以返回 www.google.com ->查询返回“www.imdb.com”(!!)
有谁知道如何返回用户正在查看的正确网址?