接收短信:
原理:通过广播接收系统短信通知:
添加权限:android.permision.RECEIVE_SMS;
广播地址:android.provider.Telephony.SMS_RECEIVED;
public class MyReciverNsg extends BroadcastReceiver{
public void onReceive(Context context,Intent intent){
Bundle bundle = intent.getExtras();
Object[] pdus = (Object[])bundle.get("pdus");
SmsMessage[] messages = new SmsMessage[pdus.length];
for(int i = 0;i< messages.length;i++){
messages[i] = SmsMessages.createFromPdu((byte[]) pdus[i]);
}
//获取发送方号码
String address = messages[0].getOriginatingAddress();
//获取短信内容:
String fullMessage = "";
for(SmsMessage message : message){
fullMessage += message.getMessageBody();
}
}
}
发送短信:
添加权限:android:permision.SEND_SMS;
发送短信核心代码:
SmsManager smsmanager = SmsManager.getDefault();
smsmanager.sendTextMessage("tell_number",null,"msg",null,null);
发送状态监听:
Intent sendIntent = new Intent("SENT_SMS_ACTION");
PendingIntent pi = PendingIntent.getBroadcast(this,0,sendIntent,0);
smsmanager.sendTextMessage("tell_number",null,"msg",pi,null);
public class getSendStatus extends BroadcastReceiver{
public void onReceive(Context context,Intent intent){
if(getResultCode() == RESULT_OK){
//短信发送成功
}else{
//短信发送失败
}
}
}
本文介绍如何在Android应用中实现短信的接收与发送功能,包括所需权限配置、广播接收器的设置及短信状态监听等关键步骤。
1789

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



