Android浏览历史记录仅遗漏了一些网站

时间:2015-04-21 15:13:56

标签: android google-chrome browser-history bookmarks android-cursorloader

使用以下功能,我试图获取用户在其Android手机上从Chrome浏览器访问的最新网址。此功能适用于大多数网站,但不适用于" www.reddit.com"。

如果我转到" www.google.com"," www.hulu.com"以下url变量会更新。或" www.kayak.com"但如果我去www.reddit.com" 不会更新

如果我去" m.reddit.com" 确实更新。与Facebook相同的问题,检测 m.facebook.com 但不是 www.facebook.com

我不明白" www.reddit.com"之间的区别是什么?和" m.reddit.com" Android记录了一个而不记录另一个。

我需要在代码中进行哪些更改才能检测到所有网址访问?

public String returnLastChromeURL(int browserCode) {
    String[] proj = new String[] { Browser.BookmarkColumns.DATE,
            Browser.BookmarkColumns.TITLE, Browser.BookmarkColumns.URL };

    String dateTime;
    Uri uriCustom = Uri
            .parse("content://com.android.chrome.browser/bookmarks");
    String sel = Browser.BookmarkColumns.BOOKMARK + " = 0"; // 0 = history,
                                                            // 1 = bookmark
    try {
    Cursor mCur = mContext.getContentResolver().query(uriCustom, proj, sel,
            null, BookmarkColumns.DATE + " ASC");
    mCur.moveToFirst();
    mCur.moveToLast();

        dateTime = mCur.getString(mCur
                .getColumnIndex(Browser.BookmarkColumns.DATE));
        title = mCur.getString(mCur
                .getColumnIndex(Browser.BookmarkColumns.TITLE));
        url = mCur.getString(mCur
                .getColumnIndex(Browser.BookmarkColumns.URL));

        mCur.close();
    } catch (Exception e) {
        dateTime = String.valueOf(System.currentTimeMillis());
        title = "";
        url = "empty_list";
    }

    return url;
}

我的调试中的更多信息:

  • 当我在Genymotion模拟器上尝试此操作时,所有网站(包括www.reddit.com等网站都会被检测到)。在真实手机上www.reddit.com未被检测到。
  • 网站代码将检测到正常:www.kayak.com' (redirects to www.kayak.com/mn ), www.hulu.com (loads mobile version of site though url stays www.hulu.com), www.google.com`(与hulu相同的故事)

似乎加载网站纯桌面版本的网站未被检测到

0 个答案:

没有答案