【问题标题】:browserhistory logged only with special browserbrowserhistory 仅使用特殊浏览器记录
【发布时间】:2014-06-04 12:12:53
【问题描述】:

您好,我有一个应用程序可以使用此代码读取浏览器历史记录

String[] proj = new String[] { Browser.BookmarkColumns.DATE, Browser.BookmarkColumns.URL };
String sel = Browser.BookmarkColumns.BOOKMARK + " = 0";
Cursor mCur = context.getContentResolver().query(Browser.BOOKMARKS_URI, proj, sel, null, Browser.BookmarkColumns.DATE + " DESC");

但似乎设备只能使用一种特殊的浏览器来记录日志:

s4 (4.2.2)=chrome
s5 (4.2.2)=chrome
htc one (4.2.2)=default browser
Samsung ace (4.1.2)=default browser

这取决于哪个浏览器记录它?

【问题讨论】:

    标签: android browser-history


    【解决方案1】:

    这取决于浏览器是否登录到 Android 内置 Content Provider 以进行浏览器活动。一些浏览器可能会,但并非所有浏览器都会这样做。

    通常,设备上安装的股票浏览器会这样做。但不能保证其他人会这样做。

    【讨论】:

    • 但是如果chrome在一台设备上登录,它不应该在所有设备上登录内容提供程序吗?都有最新的 chrome 更新。
    • “应该”与“做”不同。我相信所有浏览器都应该进行适当的组织。但重点是:您的代码是正确的,影响您结果的因素是您无法控制的。
    • 但是为什么 chrome 登录 Galaxy s5 而不是登录 htc 呢?两者都有相同的android版本
    • 我猜可能和签名保护有关,只有系统应用可以写入ContentProvider,但我没有写Chrome浏览器代码,我无法回答。但它是开源的,所以你可以尝试在那里检查:code.google.com/p/chromium/wiki/AndroidBuildInstructions
    猜你喜欢
    • 1970-01-01
    • 2019-09-16
    • 1970-01-01
    • 2015-06-14
    • 2011-01-30
    • 1970-01-01
    • 2010-10-20
    • 2012-07-22
    • 1970-01-01
    相关资源
    最近更新 更多