我正在努力清除android中的浏览器历史记录。直到android 5.1.1即;棒棒糖以下语法工作正常。
Browser.clearHistory(mContextUtility.getContentResolver());
但是,对于android 6即;棉花糖它不起作用。那么如何解决这个问题呢,有没有其他方法来清除浏览器历史记录?
答案 0 :(得分:1)
查看Android源代码,它看起来并不适合您。请注意,clearHistory方法不再执行任何操作,因此canClearHistory总是返回false
/**
* Returns whether there is any history to clear.
*
* @param cr The ContentResolver used to access the database.
* @return boolean True if the history can be cleared.
* @removed
*/
public static final boolean canClearHistory(ContentResolver cr) {
return false;
}
/**
* Delete all entries from the bookmarks/history table which are
* not bookmarks. Also set all visited bookmarks to unvisited.
*
* @param cr The ContentResolver used to access the database.
* @removed
*/
public static final void clearHistory(ContentResolver cr) {
}
以下是5.1.1 r1中的相同方法,当它们实际起作用时:
public static final boolean More ...canClearHistory(ContentResolver cr) {
Cursor cursor = null;
boolean ret = false;
try {
cursor = cr.query(History.CONTENT_URI,
new String [] { History._ID, History.VISITS },
null, null, null);
ret = cursor.getCount() > 0;
} catch (IllegalStateException e) {
Log.e(LOGTAG, "canClearHistory", e);
} finally {
if (cursor != null) cursor.close();
}
return ret;
}
删除书签/历史记录表中没有的所有条目 书签。同时将所有访问过的书签设置为未访问的书签。需要 android.Manifest.permission参数:cr以前使用的ContentResolver 访问数据库。
public static final void More ...clearHistory(ContentResolver cr) {
deleteHistoryWhere(cr, null);
}
答案 1 :(得分:1)
已删除许可以在Marshmallow上方读取和书写书签(API> = 23) 请参阅https://developer.android.com/about/versions/marshmallow/android-6.0-changes.html#behavior-bookmark-browser
看起来您可以在数据库中实现自己的浏览器应用并在本地保存书签,但API> = 23个单词,您无法从Chrome访问历史记录或书签。