android 如何拨打暗码进入app

. SpecialCharSequenceMgr.Java 的 handleSecretCode 方法会处理以*#*#开头,以#*#*结尾的字符串,源码如下

[java]  view plain  copy
 
  1. static boolean handleSecretCode(Context context, String input) {  
  2.     // Secret codes are in the form *#*##*#*  
  3.   
  4.     /// M: for plug-in @{  
  5.     input = ExtensionManager.getInstance().getDialPadExtension().handleSecretCode(input);  
  6.     /// @}  
  7.   
  8.     int len = input.length();  
  9.     if (len > 8 && input.startsWith("*#*#") && input.endsWith("#*#*")) {  
  10.         final Intent intent = new Intent(SECRET_CODE_ACTION,  
  11.                 Uri.parse("android_secret_code://" + input.substring(4, len - 4)));  
  12.         context.sendBroadcast(intent);  
  13.         return true;  
  14.     }  
  15.     if(input.equals("*#6813#"))  
  16.  {  
  17.  Intent intent = new Intent(SECRET_CODE_ACTION,  
  18.                 Uri.parse("android_secret_code://" + input.substring(2, len - 1)));  
  19.         context.sendBroadcast(intent);  
  20.         return true;  
  21.     }  
  22.   
  23.     return false;  
  24. }  

     二. 在我们自己的代码中监听对应的广播消息,代码如:

[java]  view plain  copy
 
  1. "lyps.SecretReceiver" >  
  2.        
  3.          "android.provider.Telephony.SECRET_CODE" />  
  4.   
  5.          
  6.              android:host="83789"  
  7.              android:scheme="android_secret_code" />  
  8.        
  9.    

你可能感兴趣的:(Android)