android開發筆記:[1]android4.0?

Tags: 問題, 筆記,

在測試應用程式的時候發現,在android2.3上執行沒有問題的程式在android4.0版本上卻有問題. 想來肯定是版本相容性問題.

比如,在android2.3上廣播接受者的使用非常簡單,不論是採用在manifest.xml中註冊還是在服務中註冊.都只需要在intentfilter上註冊相應的action即可.

然而在3.0之後,就必須要在manifest.xml的use-permission中註冊相應的許可權才行.

這就是癥結所在. 以在服務中監聽電話撥打和來電為例進行說明!

android開發筆記:[1]android4.0 監聽失效

工具/原料

eclipse

android4.0

步驟1: 註冊來去電監聽器

定義來電監聽器

android開發筆記:[1]android4.0 監聽失效

定義去電監聽器

android開發筆記:[1]android4.0 監聽失效

註冊監聽器

android開發筆記:[1]android4.0 監聽失效

到此: 在服務中註冊來去電監聽器已經完成,但是在啟動服務後,這兩個監聽器根本沒有執行! 除錯也不會報錯! 

步驟2:解決辦法是在manifest中新增許可權

新增:監控電話狀態的許可權和監控外撥電話的許可權

驗證測試:

android開發筆記:[1]android4.0 監聽失效

總結: 有時候因為版本問題,會出一些莫名其妙的問題. 總的來講版本越高,對於安全性的考慮就更高. 因此,特別需要注意許可權是否在manifest裡面註冊了.

相關問題答案