我们已经准备好了,你呢?

我们与您携手共赢,为您的企业形象保驾护航!

Android 短信架构主要包括以下几个部分:

1、短信内容提供者(Sms Content Provider)

2、短信管理器(Sms Manager)

3、短信接收器(Sms Receiver)

4、短信应用界面(Sms Application Interface)

下面是详细的解释:

1、短信内容提供者(Sms Content Provider)

短信内容提供者是一个存储短信的数据库,它提供了对短信数据的访问接口,开发者可以通过ContentResolver来查询和操作短信数据。

查询所有短信的代码如下:

ContentResolver contentResolver = getContentResolver();Cursor cursor = contentResolver.query(Uri.parse("content://sms/"), null, null, null, null);

2、短信管理器(Sms Manager)

短信管理器是一个用于发送短信的类,开发者可以通过SmsManager来发送短信。

发送短信的代码如下:

SmsManager smsManager = SmsManager.getDefault();smsManager.sendTextMessage(phoneNumber, null, message, pi, null);

3、短信接收器(Sms Receiver)

短信接收器是一个用于接收短信的广播接收器,开发者可以通过继承BroadcastReceiver来实现自己的短信接收器。

接收短信的代码如下:

public class SmsReceiver extends BroadcastReceiver {    @Override    public void onReceive(Context context, Intent intent) {        if (intent.getAction().equals("android.provider.Telephony.SMS_RECEIVED")) {            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.getDisplayMessageBody();                        // do something with sender and messageBody                    }                }            }        }    }}

4、短信应用界面(Sms Application Interface)

短信应用界面是用户与短信应用交互的界面,开发者可以通过实现自己的Activity来创建自定义的短信应用界面。

创建一个显示短信列表的Activity的代码如下:

public class SmsListActivity extends ListActivity {    private Cursor cursor;    private SMSAdapter adapter;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        adapter = new SMSAdapter(this, cursor);        setListAdapter(adapter);    }    @Override    protected void onResume() {        super.onResume();        loadSmsInbox();    }    private void loadSmsInbox() {        cursor = getContentResolver().query(Uri.parse("content://sms/inbox"), null, null, null, null);        adapter = new SMSAdapter(this, cursor);        setListAdapter(adapter);    }}
免责声明:本站内容(文字信息+图片素材)来源于互联网公开数据整理或转载,仅用于学习参考,如有侵权问题,请及时联系本站删除,我们将在5个工作日内处理。联系邮箱:chuangshanghai#qq.com(把#换成@)

我们已经准备好了,你呢?

我们与您携手共赢,为您的企业形象保驾护航!

在线客服
联系方式

热线电话

132-7207-3477

上班时间

周一到周五

二维码
线