Browser.clearHistory(getContentResolver());不工作

时间:2014-02-13 10:29:56

标签: android

我正在做的是......当我在URL中检测到某个单词时,我必须重定向到某个指定的URL并清除缓存/浏览器的历史记录。

浏览器被正确重定向,但没有清除缓存/历史记录。在后台按浏览器将重定向回以前键入的URL。

if (url.contains("www.facebook.com")) {
                                int resutl = getContentResolver().delete(Browser.BOOKMARKS_URI, null, null);
                                System.err.println(" result :-"+resutl);
                                Browser.clearHistory(getContentResolver());
                                Browser.deleteFromHistory(getContentResolver(), url);

Intent mBrowserIntent = new Intent(Intent.ACTION_VIEW);
                                mBrowserIntent.setPackage("com.android.browser");
                                mBrowserIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK|Intent.FLAG_ACTIVITY_NEW_TASK);
                                mBrowserIntent.putExtra(Browser.EXTRA_APPLICATION_ID , "com.android.browser");
                                Uri uri = Uri.parse(temp);
                                mBrowserIntent.setData(uri);
                                startActivity(mBrowserIntent);

这两个权限也都已设置。

<uses-permission android:name="com.android.browser.permission.WRITE_HISTORY_BOOKMARKS" />
<uses-permission android:name="com.android.browser.permission.READ_HISTORY_BOOKMARKS" /> 

需要帮助。

3 个答案:

答案 0 :(得分:0)

您可以使用这一简单的代码行删除默认浏览器的历史记录,但我不知道如何删除特定的URL,这对我来说很有用:

Browser.clearHistory(getContentResolver());

答案 1 :(得分:0)

删除特定网址:

Browser.deleteFromHistory(getContentResolver(), "http://www.facebook.com/");

答案 2 :(得分:0)

我有同样的问题,我来到这个问题,因为这是谷歌搜索的第一个结果,没有答案,所以我想分享一些搜索后找到的答案。

Google已删除了读取和写入书签的权限,并在API&gt; = 23之后删除了此方法,因此,如果您使用sdk版本&gt; = 23编译项目,您将获得

Cannot resolve method 'clearHistory(android.content.ContentResolver)

看看这里

https://developer.android.com/about/versions/marshmallow/android-6.0-changes.html#behavior-bookmark-browser