
地 址:北京市西城区66号
电 话:17730649097
网址:dsesh.com
邮 箱:43538197@qq.com
在Android中,信接发送和接收短信主要涉及到两个(ge)接口:SmsManager和BroadcastReceiver。接口(图片来源网络,参考侵删)
1、信接SmsManager接(jie)口

SmsManager是接口Android系统(tong)提供的用于发送短信的类,它(ta)位于android.telephony包下,参考通过SmsManager,信接我们可以发送文本短信、接口数据(ju)短信以及控制短信等。参考

主要方法如下:

sendTextMessage(String destinationAddress,信接 String scAddress, String text, PendingIntent sentIntent, PendingIntent deliveryIntent):发送文本短信。
divideMessage(String text):将(jiang)长短信分割成多条短信。接口
getDefault():获取默认的参考SmsManager实例。
2、信接(jie)BroadcastReceiver接口
BroadcastReceiver是接口Android系统中的广播接收者,它可以监听系统中的(de)参考各种事件,包括短信接收事件,我们可以通过(guo)注册一个BroadcastReceiver来监听短信接收事件,从而获取到接收到的短信内容。
主要方法如下:
public void onReceive(Context context, Intent intent):当接收到广播时,会调用此方法。
使用示例:
发送短信:
SmsManager smsManager = SmsManager.getDefault();smsManager.sendTextMessage(phoneNumber, null, message, null, null);需要在AndroidManifest.xml中注册一个BroadcastReceiver:
<receiver android:name=".SmsReceiver"> <intentfilter> <action android:name="android.provider.Telephony.SMS_RECEIVED" /> </intentfilter></receiver>
public class SmsReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { if (Telephony.Sms.Intents.SMS_RECEIVED_ACTION.equals(intent.getAction())) { Bundle bundle = intent.getExtras(); if (bundle != null) { Object[] pdus = (Object[]) bundle.get("pdus"); if (pdus != null) { for (Object pdu : pdus) { SmsMessage smsMessage = SmsMessage.createFromPdu((byte[]) pdu); String sender = smsMessage.getDisplayOriginatingAddress(); String messageBody = smsMessage.getMessageBody(); // 处理接收到的短信 } } } } }}以上就是Android中发送和接收短信的基本接(jie)口和方法。