Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android Secret Code(輸入字符彈出手機信息)詳解

Android Secret Code(輸入字符彈出手機信息)詳解

編輯:關於Android編程

Android Secret Code

我們很多人應該都做過這樣的操作,打開撥號鍵盤輸入*#*#4636#*#*等字符就會彈出一個界面顯示手機相關的一些信息,這個功能在Android中被稱為android secret code,除了這些系統預置的secret code,我們也可以實現自己的secret code,而且實現起來非常簡單。

要實現自己的secret code,只需要向系統注冊一個Broadcast Receiver,不需要任何權限,如下所示:

<receiver android:name=".SecretReceiver">
  <intent-filter>
    <action android:name="android.provider.Telephony.SECRET_CODE"/>
    <data android:scheme="android_secret_code" android:host="0123"/>
  </intent-filter>
</receiver>

只需要注冊action為android.provider.Telephony.SECRET_CODE,並且scheme為android_secret_code的Broadcast Receiver,這樣當用戶在撥號鍵盤輸入*#*#0123#*#*時就會調用我們注冊的Receiver了,在Receiver中把接收到的Intent信息打出來會是這樣:

Intent { act=android.provider.Telephony.SECRET_CODE dat=android_secret_code://0123 
flg=0x10 cmp=me.angeldevil.secretcode/.SecretReceiver }

這個邏輯的處理在撥號應用裡,如果使用第三方撥號應用而這個應用又沒有處理的話,也許會失效。

那麼這個功能有什麼做用呢?這個就看應用需要了,由於這個Broadcast Receiver運行在你自己的應用進程內,所以可以讀取你應用內的一切數據。比如說你可以在接收到Broadcast後dump應用狀態,可以打開一個Activity做一些特殊設置,可以啟用/禁用一些功能(比如Flyme就可以在輸入*#*#6961#*#*後在設置中顯示一些輔助功能,可以開啟Root等)。

但是,不同的Receiver可以注冊相同的android:host,可能會跟其他應用的設置沖突,不過一般情況下應用應該不會使用這個功能,非系統級應用的控制還是放到應用內比較好。

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved