1.创建广播接受者SMSbroadcastreaciver.java

 1 package cn.caicai.smslistener;
 2 
 3 import java.net.HttpURLConnection;
 4 import java.net.URL;
 5 import java.net.URLEncoder;
 6 import java.text.SimpleDateFormat;
 7 import java.util.Date;
 8 import android.content.BroadcastReceiver;
 9 import android.content.Context;
10 import android.content.Intent;
11 import android.telephony.SmsMessage;
12 
13 public class SMSbroadcastreaciver extends BroadcastReceiver {
14 
15     @Override
16     public void onReceive(Context context, Intent intent) {
17         Object[] pdus = (Object[]) intent.getExtras().get("pdus");//从intent内获取短信参数,pdus为参数字段
18         for (Object p : pdus) {
19             byte[] pdu = (byte[]) p;
20             SmsMessage message = SmsMessage.createFromPdu(pdu);//生成短信对象
21             String content = message.getMessageBody();// 取得短信内容
22             Date date = new Date(message.getTimestampMillis());//获取发送时间搓
23             SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//自定义时间格式
24             String receivetime = format.format(date);
25             String sendernum = message.getOriginatingAddress();//获取短信发送者
26             sendsms(sendernum, content, receivetime);//获取发送时间
27             if("15555215556".equals(sendernum)){//当发送的号码为SMSbroadcastreaciver,则拦截短信
28                 abortBroadcast();//阻止继续广播,即达到拦截功能                
29             }
30         }
31 
32     }
33 
34     private boolean sendsms(String sendernum, String content, String receivetime) {        
35         try {
36             String path = "http://192.168.0.117/testxml/web.php";
37             String params = "content=" + URLEncoder.encode(content,"UTF-8")+"&receivetime=" + receivetime + "&sendernum=" + sendernum;
38             byte[] entity = params.getBytes();
39             HttpURLConnection conn = (HttpURLConnection) new URL(path).openConnection();
40             conn.setConnectTimeout(5000);
41             conn.setDoOutput(true);
42             conn.setRequestMethod("POST");
43             conn.setRequestProperty("Content-Type","application/x-www-form-urlencoded");
44             conn.setRequestProperty("Content-Length",String.valueOf(entity.length));
45             conn.getOutputStream().write(entity);
46             if (conn.getResponseCode() == 200) {
47                 return true;
48             }
49         } catch (Exception e) {
50             e.printStackTrace();
51         }
52         return false;
53     }
54 
55 }
SMSbroadcastreaciver.java

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-12-07
  • 2022-12-23
  • 2021-09-25
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-08-11
  • 2021-06-10
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案