Android 獲取自帶瀏覽器上網記錄


先是搜索了一下,在manifest里添加

  1. <uses-permission android:name="com.android.browser.permission.READ_HISTORY_BOOKMARKS"/>  


有了這個權限就可以讀取上網記錄和書簽了。開始時我以為只有上網記錄,但是明顯bookmarks是表示書簽啊。而書簽一般是沒有時間這個內容的。所以對query語句進行了修改,添加搜索限制條件。

  1. contentResolver.query(Uri.parse("content://browser/bookmarks"), new String[] {  
  2.         "title""url""date" }, "date!=?",new String[] { "null" }, "date desc");  

這句表示在路徑“content:……bookmarks”里搜索title, url, date這三列,條件是date!=null,並按照日期降序排序。

其實最開始的時候我是沒有添加時間的,但是想想獲取上網記錄也關心時間,就想添加這個屬性,可是發現在三星某款手機里不可以,因為一開始我搜索的時候沒有添加限制條件,所以連書簽都檢索出來了,就像之前說的,書簽是不會有時間這個屬性的(這應該是一般情況)。而很奇怪的是,之前沒有修改的代碼在小米上就可以運行,而且只是檢索出來上網記錄,沒有包括書簽(這才是特殊情況……)。應該是小米做了修改,啊啊,android的碎片化好頭疼啊。

以下是全部代碼:

    1. public class GetInternetRecord {  
    2.     String records = null;  
    3.     StringBuilder recordBuilder = null;  
    4.   
    5.     public void getRecords(ContentResolver contentResolver) {  
    6.         // ContentResolver contentResolver = getContentResolver();  
    7.         Cursor cursor = contentResolver.query(  
    8.                 Uri.parse("content://browser/bookmarks"), new String[] {  
    9.                         "title""url""date" }, "date!=?",  
    10.                 new String[] { "null" }, "date desc");  
    11.         while (cursor != null && cursor.moveToNext()) {  
    12.             String url = null;  
    13.             String title = null;  
    14.             String time = null;  
    15.             String date = null;  
    16.   
    17.             recordBuilder = new StringBuilder();  
    18.             title = cursor.getString(cursor.getColumnIndex("title"));  
    19.             url = cursor.getString(cursor.getColumnIndex("url"));  
    20.   
    21.             date = cursor.getString(cursor.getColumnIndex("date"));  
    22.   
    23.             SimpleDateFormat dateFormat = new SimpleDateFormat(  
    24.                     "yyyy-MM-dd hh:mm;ss");  
    25.             Date d = new Date(Long.parseLong(date));  
    26.             time = dateFormat.format(d);  
    27.   
    28.             System.out.println(title + url + time);  
    29.         }  
    30.     }  
    31. }  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM