如何读取Android的浏览器历史记录 [英] How to read Chrome history in Android
本文介绍了如何读取Android的浏览器历史记录的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
是否有可能只读历史?
通过下面的code,我能够获得历史和书签,但我想只读历史。
的String [] = PROJ新的String [] {Browser.BookmarkColumns.TITLE,Browser.BookmarkColumns.URL};
字符串chnHistory = Browser.BookmarkColumns.BOOKMARK += 0+或访问大于0; // 0 =历史,1 =书签
mycur = getContentResolver()查询(Browser.BOOKMARKS_URI,凸出,chnHistory,NULL,NULL);诠释计数= mycur.getCount();
mycur.moveToFirst();
阵列=新的ArrayList<串GT;();
如果(mycur.moveToFirst()及&放大器;计数大于0)
{
而(计数大于0)
{
array.add(mycur.getString(Browser.HISTORY_PROJECTION_URL_INDEX));
计数 - ;
mycur.moveToNext();
} // while循环结束
} //如果块结束
如果(array.size()大于0)
{
的for(int i = 0; I< array.size();我++)
{
Log.e(结果,array.get(ⅰ));
}
}
解决方案
要只检索历史,没有书签,用0。
从官方文档:
标志,指示项目是一个书签。值为1表示一个书签,的值为0表示历史项。
块引用><子>(重点煤矿)
code:
super.onCreate(savedInstanceState);
的setContentView(R.layout.activity_main); 的String [] = PROJ新的String [] {Browser.BookmarkColumns.TITLE,
Browser.BookmarkColumns.URL};
串chnHistory = Browser.BookmarkColumns.BOOKMARK += 0; // 0 =历史,
光标mycur = this.managedQuery(Browser.BOOKMARKS_URI,PROJ,
chnHistory,NULL,NULL);
this.startManagingCursor(mycur);
mycur.moveToFirst(); ArrayList的&LT;串GT;阵列=新的ArrayList&LT;串GT;();
字符串title =;
字符串URL =; 如果(mycur.moveToFirst()及&放大器; mycur.getCount()大于0){
而(!mycur.isAfterLast()){
标题= mycur.getString(mycur
.getColumnIndex(Browser.BookmarkColumns.TITLE));
URL = mycur.getString(mycur
.getColumnIndex(Browser.BookmarkColumns.URL));
array.add(标题+:+网址);
mycur.moveToNext();
}
} 如果(array.size()大于0){
对于(字符串字符串:数组){
Log.d(结果,字符串);
}
}清单文件添加权限:
&LT;使用许可权的android:NAME =com.android.browser.permission.READ_HISTORY_BOOKMARKS/&GT;
Is it possible to read only the history?
By using the following code, I am able to get both history and bookmarks, but I want to read the History only.
String[] proj = new String[] { Browser.BookmarkColumns.TITLE, Browser.BookmarkColumns.URL }; String chnHistory = Browser.BookmarkColumns.BOOKMARK + " = 0"+" OR visits > 0"; // 0 = history, 1 = bookmark mycur = getContentResolver().query(Browser.BOOKMARKS_URI, proj, chnHistory, null, null); int count = mycur.getCount(); mycur.moveToFirst(); array = new ArrayList<String>(); if (mycur.moveToFirst() && count > 0) { while (count > 0) { array.add(mycur.getString(Browser.HISTORY_PROJECTION_URL_INDEX)); count--; mycur.moveToNext(); }//End of while loop }//End of if block if(array.size() > 0) { for (int i = 0; i < array.size(); i++) { Log.e("result ", array.get(i)); } }
解决方案To retrieve only the history, without the bookmarks, use 0.
From the Official Documentation:
Flag indicating that an item is a bookmark. A value of 1 indicates a bookmark, a value of 0 indicates a history item.
(emphasis mine)
Code:
super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); String[] proj = new String[] { Browser.BookmarkColumns.TITLE, Browser.BookmarkColumns.URL }; String chnHistory = Browser.BookmarkColumns.BOOKMARK + " = 0"; // 0 = history, Cursor mycur = this.managedQuery(Browser.BOOKMARKS_URI, proj, chnHistory, null, null); this.startManagingCursor(mycur); mycur.moveToFirst(); ArrayList<String> array = new ArrayList<String>(); String title = ""; String url = ""; if (mycur.moveToFirst() && mycur.getCount() > 0) { while (!mycur.isAfterLast()) { title = mycur.getString(mycur .getColumnIndex(Browser.BookmarkColumns.TITLE)); url = mycur.getString(mycur .getColumnIndex(Browser.BookmarkColumns.URL)); array.add(title + " : " + url); mycur.moveToNext(); } } if (array.size() > 0) { for (String string : array) { Log.d("result ", string); } }
Add permission in Manifest file:
<uses-permission android:name="com.android.browser.permission.READ_HISTORY_BOOKMARKS"/>
这篇关于如何读取Android的浏览器历史记录的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文