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"/>