當前位置:編程學習大全網 - 源碼下載 - 撥號應用程序源代碼

撥號應用程序源代碼

是的,妳可以。

只要手機開機,有信號,就能收到對方的信息。當設置為來電拒接或黑名單時,如果對方發短信,手機仍然可以收到這條短信。短信保存在妳的手機黑名單或者拒接電話記錄裏,裏面不僅有拒接電話記錄,還有短信攔截記錄。

短信攔截其實是比較簡單的壹種。網上有很多相關介紹。這裏我主要介紹壹下寫作過程中遇到的壹些問題。

首先,短信攔截的原理是監控短信的播放,然後判斷短信的數量,是否被列入黑名單。如果是,就通過abortBroadcast結束廣播傳輸。其中,在做的過程中最重要的問題不是收到攔截,而是先收到攔截,因為短信廣播是有序廣播,所以誰先收到廣播,誰就有權利結束廣播的傳輸,所以我們實際上要想辦法把我們接收廣播的權限提升到最高級別。這裏主要有兩種方法,1是設置最大權限值,2是設置註冊方式為動態註冊。

設置最大權限實際上就是在註冊廣播時設置最大優先級。Android系統的api聲明最大權限為1000,但實際上收到的是壹個int值,系統沒有在線判斷值,所以我們可以設置int的最大值,這個權限是最高的。

那麽如果都是最大權限,誰的優先級更高,那麽就是第二點,動態註冊監控。因為在源代碼中動態註冊的廣播是在靜態廣播之前放入監控列表的,所以我們在這裏使用動態註冊來設置監控。

那如果大家都用動態註冊,誰先收到?這個地方好像和應用的包名有關系。我不太明白。大概意思是安裝時間越早,優先級越高,系統中的包名別名順序也越高(不是我們寫的包名的字母順序)。

那麽我們來看看具體的實現。先構建壹個服務,然後保證這個服務壹直在後臺運行(可以壹直以守護進程,監聽引導廣播等方式存在。),然後分別在服務的onStartCommand和onDestroy方法中註冊廣播和取消註冊。

  • 上一篇:微信文字怎麽排版?
  • 下一篇:夢見股票漲停的預兆
  • copyright 2024編程學習大全網