Java 如何在Android中读取Chrome历史记录
可以只读历史吗 通过使用以下代码,我可以同时获得历史记录和书签,但我只想阅读历史记录Java 如何在Android中读取Chrome历史记录,java,android,browser,Java,Android,Browser,可以只读历史吗 通过使用以下代码,我可以同时获得历史记录和书签,但我只想阅读历史记录 String[] proj = new String[] { Browser.BookmarkColumns.TITLE, Browser.BookmarkColumns.URL }; String chnHistory = Browser.BookmarkColumns.BOOKMARK + " = 0"+" OR visits > 0"; // 0 = history, 1 = bookmark my
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));
}
}
String[]proj=newstring[]{Browser.BookmarkColumns.TITLE,Browser.BookmarkColumns.URL};
字符串chnHistory=Browser.BookmarkColumns.BOOKMARK+“=0”+”或访问次数>0”;//0=历史记录,1=书签
mycur=getContentResolver().query(Browser.BOOKMARKS\u URI,proj,chnHistory,null,null);
int count=mycur.getCount();
mycur.moveToFirst();
数组=新的ArrayList();
if(mycur.moveToFirst()&&count>0)
{
而(计数>0)
{
add(mycur.getString(Browser.HISTORY\u PROJECTION\u URL\u INDEX));
计数--;
mycur.moveToNext();
}//while循环结束
}//if块结束
if(array.size()>0)
{
对于(int i=0;i
要仅检索历史记录,而不检索书签,请使用0
从:
指示项目是书签的标志。值1表示书签,值0表示历史记录项。
(强调矿山)
代码:
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
String[]proj=新字符串[]{Browser.BookmarkColumns.TITLE,
Browser.bookmark columns.URL};
字符串chnHistory=Browser.BookmarkColumns.BOOKMARK+“=0”;//0=历史,
Cursor mycur=this.managedQuery(Browser.BOOKMARKS\u URI,proj,
chnHistory,null,null);
这个.startManagingCursor(mycur);
mycur.moveToFirst();
ArrayList数组=新的ArrayList();
字符串标题=”;
字符串url=“”;
if(mycur.moveToFirst()&&mycur.getCount()>0){
而(!mycur.isAfterLast()){
title=mycur.getString(mycur
.getColumnIndex(Browser.BookmarkColumns.TITLE));
url=mycur.getString(mycur
.getColumnIndex(Browser.BookmarkColumns.URL));
add(title+“:”+url);
mycur.moveToNext();
}
}
if(array.size()>0){
for(字符串:数组){
Log.d(“结果”,字符串);
}
}
在清单文件中添加权限:
难道不能从同一代码中获取所有浏览器的历史记录吗?权限和功能已从api 26中删除。
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);
}
}
<uses-permission android:name="com.android.browser.permission.READ_HISTORY_BOOKMARKS"/>