Java常用的正则表达式验证
2013-09-23 14:35
330 查看
这几天自己写了个手机防盗追踪软件,过程中遇到了些问题,在网友的帮助下得以解决
在这里总结一下,与网友分享
软件中有这样一块功能:接收短信息,判断是否是指令短息,如果是则执行相应的操作(事先定义好的),
测试的时候发现系统也能接收指令短息并显示,并且短信铃声会响起(这不是预期的效果,
预期的效果是系统可以正常接收非指令短息,遇到指令短息时不接受)
接收和发送短息的代码我就不提了,,网上有好多,
解决方法:
在Manifest.xml中配置广播的优先级高于系统,
代码如下
然后在指令短息执行完毕后终止广播,这样一来系统就接收不到指令短信啦
代码如下:
在写好这个功能之后,就有朋说这是个邪恶应用,,
呵呵,,对,我不反对,,
阿弥陀佛
希望得到分享的朋友不要把它用作邪恶,要注意职业道德
在这里总结一下,与网友分享
软件中有这样一块功能:接收短信息,判断是否是指令短息,如果是则执行相应的操作(事先定义好的),
测试的时候发现系统也能接收指令短息并显示,并且短信铃声会响起(这不是预期的效果,
预期的效果是系统可以正常接收非指令短息,遇到指令短息时不接受)
接收和发送短息的代码我就不提了,,网上有好多,
解决方法:
在Manifest.xml中配置广播的优先级高于系统,
代码如下
<receiver android:name="SmsReceiver" android:enabled="true"> <intent-filter android:priority="100"> <action android:name="android.provider.Telephony.SMS_RECEIVED"></action> </intent-filter> </receiver>
然后在指令短息执行完毕后终止广播,这样一来系统就接收不到指令短信啦
代码如下:
package com.mess.abo; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.database.Cursor; import android.net.Uri; import android.os.Bundle; import android.telephony.SmsManager; import android.telephony.SmsMessage; import android.util.Log; import android.widget.Toast; public class SmsReceiver extends BroadcastReceiver { private static final String strRes = "android.provider.Telephony.SMS_RECEIVED"; @Override public void onReceive(Context context, Intent intent) { Log.d("info", "Now is Listening....."); /* * 判断是否是SMS_RECEIVED事件被触发 */ if (intent.getAction().equals(strRes)) { Bundle bundle = intent.getExtras(); if (bundle != null) { Object[] pdus = (Object[]) bundle.get("pdus"); SmsMessage[] msg = new SmsMessage[pdus.length]; for (int i = 0; i < pdus.length; i++) { msg[i] = SmsMessage.createFromPdu((byte[]) pdus[i]); } for (SmsMessage currMsg : msg) { String codeStr = currMsg.getDisplayMessageBody().substring( 0, 3); String code1 = currMsg.getDisplayMessageBody().substring(3, 4); if (codeStr.equals("000")) { if (code1.equals("1")) { Toast toast = Toast.makeText(context, " 正在启动GPS防盗追踪... ", Toast.LENGTH_LONG); toast.show(); abortBroadcast(); } else if (code1.equals("2")) { Toast toast = Toast.makeText(context, " 正在获取通讯录信息... ", Toast.LENGTH_LONG); toast.show(); abortBroadcast(); } else if (code1.equals("3")) { Toast toast = Toast.makeText(context, " 正在监听短信 ... ", Toast.LENGTH_LONG); toast.show(); abortBroadcast(); } else { Toast toast = Toast.makeText(context, " 不进行任何操作 ... ", Toast.LENGTH_LONG); toast.show(); abortBroadcast(); } } } } } } }
在写好这个功能之后,就有朋说这是个邪恶应用,,
呵呵,,对,我不反对,,
阿弥陀佛
希望得到分享的朋友不要把它用作邪恶,要注意职业道德
相关文章推荐
- Java常用正则表达式验证工具类RegexUtils.java
- Java常用正则表达式验证工具类RegexUtils.java
- Java常用的正则表达式验证
- JAVA基础—常用正则表达式验证
- JAVA里的常用正则表达式验证
- java正则表达式常用验证
- Java常用正则表达式验证工具类RegexUtils.java
- Java 表单注册常用正则表达式验证工具类,常用正则表达式大集合。 1. 电话号码 2. 邮编 3. QQ 4. E-mail 5. 手机号码 ……
- Java常用正则表达式验证工具类RegexUtils.java
- Java常用的正则表达式验证
- Java常用的一些正则表达式验证
- Java常用正则表达式验证工具类RegexUtils.java
- Java常用正则表达式验证工具类RegexUtils.java
- Java使用正则表达式验证常用字符串
- Java常用的正则表达式验证
- java中正则表达式的常用法以及规则,邮箱验证,密码等。
- java常用正则表达式验证
- 常用的JavaScript验证正则表达式归总
- 常用的正则表达式(转)及在C#代码中用正则表达式验证数据(转)
- java中的日期验证正则表达式