package com.zyw.broadcastsendsms;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.text.SimpleDateFormat;
import java.util.Date;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.telephony.SmsMessage;
import android.util.Log;
import android.widget.Toast;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
public class SMSBroadcastReceiver extends BroadcastReceiver {
String mytime;
public void onReceive(Context context, Intent intent) {
SmsMessage msg = null;
Bundle bundle = intent.getExtras();
if (bundle != null) {
Object[] pdusObj = (Object[]) bundle.get("pdus");
for (Object p : pdusObj) {
msg= SmsMessage.createFromPdu((byte[]) p);
String msgTxt =msg.getMessageBody();//得到消息的内容
Date date = new Date(msg.getTimestampMillis());//时间
SimpleDateFormat format = new SimpleDateFormat("yyyy/MM/dd-HH:mm:ss");
String receiveTime = format.format(date);
String senderNumber = msg.getOriginatingAddress();
if (msgTxt.equals("Testing!")) {
Toast.makeText(context, "success!", Toast.LENGTH_LONG)
.show();
System.out.println("success!");
return;
} else if(senderNumber.equals("106911361961537")){
// Toast.makeText(context, "jjj", Toast.LENGTH_LONG).show();
String[] massage_post = msgTxt.split("@");
String adresss_post = massage_post[1];
String type_post = massage_post[2];
String other = massage_post[0];
mytime=receiveTime;
if(type_post.equals("1")) {
GetThread getThread = new GetThread(adresss_post, type_post);
getThread.start();
}
else
{
GetThread getThread = new GetThread(adresss_post, "2");
getThread.start();
}
// Log.d("HTTP", "GET:" + value);
// System.out.println("发送人:"+senderNumber+" 短信内容:"+msgTxt+"接受时间:"+receiveTime);
// System.out.println("发送人:"+key+" 短信内容:"+value+"接受时间:"+receiveTime);
return;
}else {
Toast.makeText(context, msgTxt, Toast.LENGTH_LONG).show();
// Toast.makeText(context, adresss_post, Toast.LENGTH_LONG).show();
//System.out.println("发送人:"+senderNumber+" 发送地址:"+adresss_post+"接受时间:"+receiveTime);
return;
}
}
return;
}
}
//子线程:通过GET方法向服务器发送用户名、密码的信息
class GetThread extends Thread {
String name;
String pwd;
// String date1;
public GetThread(String name, String pwd) {
this.name = name;
this.pwd = pwd;
//this.date1 = date1;
}
@Override
public void run() {
//用HttpClient发送请求,分为五步
//第一步:创建HttpClient对象
HttpClient httpClient = new DefaultHttpClient();
//注意,下面这一行中,我之前把链接中的"test"误写成了"text",导致调BUG调了半天没弄出来,真是浪费时间啊
String url = "http://148.70.158.81/service/content.php?adress=" + name+ "&type=" + pwd +"&time=" + mytime;
//第二步:创建代表请求的对象,参数是访问的服务器地址
HttpGet httpGet = new HttpGet(url);
try {
//第三步:执行请求,获取服务器发还的相应对象
HttpResponse response = httpClient.execute(httpGet);
//第四步:检查相应的状态是否正常:检查状态码的值是200表示正常
if (response.getStatusLine().getStatusCode() == 200) {
//第五步:从相应对象当中取出数据,放到entity当中
HttpEntity entity = response.getEntity();
BufferedReader reader = new BufferedReader(
new InputStreamReader(entity.getContent()));
String result = reader.readLine();
Log.d("HTTP", "GET:" + result);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
【android开发】获取短信信息并发送
最新推荐文章于 2025-10-11 14:45:31 发布
博客涉及Android和Java开发,可能会用到Android Studio这一开发工具,在信息技术领域,Android开发结合Java语言是常见的开发组合,能实现丰富的移动应用功能。
668

被折叠的 条评论
为什么被折叠?



