返回列表 发新帖

android短信接口_Android接口参考

[复制链接]

13

主题

29

帖子

29

积分

新手上路

Rank: 1

积分
29
发表于 2024-10-10 07:27:15  | 显示全部楼层 | 阅读模式
在Android中,发送和接收短信主要涉及到两个接口:SmsManager和BroadcastReceiver。

zbhjjefmv5t5czm.jpg

zbhjjefmv5t5czm.jpg


(图片来源网络,侵删)
1、SmsManager接口
SmsManager是Android系统提供的用于发送短信的类,它位于android.telephony包下,通过SmsManager,我们可以发送文本短信、数据短信以及控制短信等。
主要方法如下:
sendTextMessage(String destinationAddress, String scAddress, String text, PendingIntent sentIntent, PendingIntent deliveryIntent):发送文本短信。
divideMessage(String text):将长短信分割成多条短信。
getDefault():获取默认的SmsManager实例。
2、BroadcastReceiver接口
BroadcastReceiver是Android系统中的广播接收者,它可以监听系统中的各种事件,包括短信接收事件,我们可以通过注册一个BroadcastReceiver来监听短信接收事件,从而获取到接收到的短信内容。
主要方法如下:
public void onReceive(Context context, Intent intent):当接收到广播时,会调用此方法。
使用示例:
发送短信:

SmsManager smsManager = SmsManager.getDefault();
smsManager.sendTextMessage(phoneNumber, null, message, null, null);
接收短信:
需要在AndroidManifest.xml中注册一个BroadcastReceiver:

   
        
   


创建一个BroadcastReceiver类:

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中发送和接收短信的基本接口和方法。
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表