Android学习——收发短信

Android学习——收发短信

1.短信基本API介绍

使用Android API类库可以自己实现收发短信的功能:
信息的发送,对mms应用程序来讲主要是在信息数据库中创建并维护一条信息记录,真正的发送过程交由底层(Frameworks层)函数来处理

2.发送短信

虽然在Android系统中已经存在发送短信的应用,但是如果我们在开发其他应用时需要集成发送短信功能,则很方便。

核心代码:
(1)SmsManager manager=SmsManager.getDefault();//获取默认的消息管理器
(2)ArrayList list=manager.divideMessage(String txt);//拆分长短信
(3)manager.sendTextMessage(String phone,null,String content,null,null);//发送短信

public void sendMessageClick(View v){
        SmsManager smsManager=SmsManager.getDefault();//获取短信管理器
        String message="地瓜,地瓜,我是土豆";
        ArrayList list=smsManager.divideMessage(message);//拆分长短信
        int size=list.size();
        for (int i=0;i

发送短信的权限


3.接收短信

Android系统收到短信会发出一个有序广播,我们可以从收到的广播的intent中获得短信信息。接收该广播的Action为:Android.provider.Telephony.SMS_RECEIVED。

定义接收器

package com.example.message;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.telephony.SmsManager;
import android.telephony.SmsMessage;
import android.widget.Toast;

public class SMSReceiver extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {
        Bundle bundle=intent.getExtras();
        if (bundle!=null){
            Object[] objs= (Object[]) bundle.get("pdus");
            SmsMessage[] smsMessage=new SmsMessage[objs.length];
            for (int i=0;i

注册接收器


            
                
            
        

接收短信需要设置权限:


你可能感兴趣的:(Android学习——收发短信)