2017-09-01 61 views
-2

我想通过我的应用程序获得互联网应用程序(Web浏览器)在Android的历史,我尝试用“com.android.browser.permission.READ_HISTORY_BOOKMARKS”如何通过我的应用程序获取Android上的互联网应用程序的书签历史?

使用但它仅适用于OS < 6.0支持。你有一个获取历史的新方法吗?请帮帮我!谢谢。

+0

首先,该应用程序必须支持它。那个'互联网应用程序'是什么?你为什么认为它应该给你它的历史? –

+0

互联网应用程序是Android手机上的浏览器默认?我想获取历史记录,书签进行备份。 –

+0

究竟哪个浏览器? Android上可能有500个浏览器应用程序。 –

回答

1

使用ArrayList。

String title = ""; 
    String url = ""; 

    ArrayList<HistoryEntry> list = new ArrayList<HistoryEntry>(); 

    String[] proj = new String[] { Browser.BookmarkColumns.TITLE, 
      Browser.BookmarkColumns.URL }; 
    String sel = Browser.BookmarkColumns.BOOKMARK + " = 0"; 

    Cursor mCur = getContentResolver().query(Browser.BOOKMARKS_URI, proj, 
      sel, null, null); 
    mCur.moveToFirst(); 

    if (mCur.moveToFirst() && mCur.getCount() > 0) { 
     boolean cont = true; 
     while (mCur.isAfterLast() == false && cont) { 
      HistoryEntry entry = new HistoryEntry(); 

      title = mCur.getString(mCur 
        .getColumnIndex(Browser.BookmarkColumns.TITLE)); 
      url = mCur.getString(mCur 
        .getColumnIndex(Browser.BookmarkColumns.URL)); 
      entry.setTitle(title); 
          entry.setUrl(url); 
          list.add(entry); 
      Log.d("TAG", "title " + title); 
      mCur.moveToNext(); 
     } 
    } 

    mCur.close(); 

    return list; 
} 
+0

感谢您的分享。你的方法只支持OS <6.0。我想使用所有的操作系​​统。你有其他方法吗? –

相关问题