編輯:關於android開發
分享一個在程序中監聽Log信息的很實用的例子。
為什麼說它實用?原因是Android的開發廠商各種修改之後手機和手機之間以後存在很多差異。比如說魅族M9手機 開發中如果項目中涉及到訪問手機系統的地方,例如訪問系統短信庫,M9手機它會提示一個dialog框 讓用戶自己去選擇 訪問還是不訪問。這樣就給開發適配帶來了巨大的麻煩。本來在這裡直接能拿到數據可是現在我須要對用戶的選擇進行監聽? 以後的小米手機肯定也會有這個問題~ 悲劇啊~~最後在這裡這裡我選擇使用監聽LOG信息來監聽用戶點擊按鈕授權與不受權。
1.獲取手機型號信息
//獲取機型名稱
android.os.Build.MODEL
//獲取SDK信息
android.os.Build.VERSION.SDK
//獲取版本號
android.os.Build.VERSION.RELEASE
那麼代碼中就可以這樣寫
Java代碼2.Logcat說明
Android開發中一共有5個log信息過濾器 分別是 VERBOSE 、DEBUG、 INFO、 WARN、 ERROR,這些各位盆友們應該都知道吧,不知道給我留言哈~~
請各位盆友們觀察下面的代碼,內容為監聽一個按鈕點擊事件一旦點擊後輸出一段Logcat信息,為了監聽系統打印的這個log信息我們開啟一個線程在後台去監聽它。
Java代碼線程開啟以後Runtime主要用於過濾logcat信息,這裡主要說一下裡面的參數
“logcat”不用說了吧,我們就是要監聽它 呵呵。
“Mytest” 表示監聽的Tag 這裡以上面點擊按鈕輸出的LOG信息為例。
“I”表示監聽的Log類型,當然這裡還可以寫其它類型 。VERBOSE(v) 、DEBUG(d)、 INFO(i)、 WARN(w)、 ERROR(e), 不過須要與監聽的與Tag一一對稱才可以。
“*:s”表示監聽所有的信息,這裡表示只要tag是Mytest ,Logcat類型為i 的 所有Log都會被獲取到。
然後將所有過濾出來的log信息存在 BufferReader中 調用readLine()可以獲取到每一行的log信息。
line.indexOf(“this is a test”) 如果大於等於0 表示當前獲取的log信息包含我們上面點擊按鈕的。
這樣子就可以監聽各種LOG 無論是我們自己寫的還是系統寫的都可以監聽到 哇咔咔~~
最後用Toast將內容顯示出來,因為在線程中所以必需使用Lopper不太了解的盆友請看多線程
Java代碼最重要的一定要加讀取系統LOG的權限喔,否則是監聽不到的。
XML/HTML代碼源碼下載地址:http://vdisk.weibo.com/s/aa6ki
Android多分辨率適配實踐【1】使用字體圖標(內含兩枚神器),android兩枚目錄 Android多分辨率適配實踐【0】基礎適配篇(撰寫中)Android多分辨率適
[android] 天氣app布局練習(三),androidapp主要練習LinearLayout和layout_weight屬性 <RelativeLayou
解析網絡json數據,模擬美團界面顯示。,json 1 <?xml version=1.0 encoding=UTF-8?> 2 <RelativeL
Android-繪制愛心,android-繪制自學android的圖形繪制,簡單的會用了Canvas和Paint,了解了他們的使用方法,便做了幾個愛心。這裡我記錄下我的幾