如何在从广播接收器接收的列表中存储消息

时间:2012-01-11 05:46:45

标签: android sms broadcastreceiver

我正在开发与通过广播接收器接收消息相关的代码。

基于以下代码

 @Override
    public void onReceive(Context context, Intent intent) 
    {
        //---get the SMS message passed in---
        Bundle bundle = intent.getExtras();        
        SmsMessage[] msgs = null;
        String str = "";            
        if (bundle != null)
        {
            //---retrieve the SMS message received---
            Object[] pdus = (Object[]) bundle.get("pdus");
            msgs = new SmsMessage[pdus.length];            
            for (int i=0; i<msgs.length; i++){
                msgs[i] = SmsMessage.createFromPdu((byte[])pdus[i]);                
                str += "SMS from " + msgs[i].getOriginatingAddress();                     
                str += " :";
                str += msgs[i].getMessageBody().toString();
                str += "\n";        
            }
            //---display the new SMS message---
            Toast.makeText(context, str, Toast.LENGTH_SHORT).show();
        }      

我想将所有收到的消息存储在列表中

以列表格式显示收到的消息。

1 个答案:

答案 0 :(得分:0)

有两种可能的方法:将其存储在数据库或文件中。我认为,更好的方法是使用SQLite。 Here是如何创建简单数据库,存储值并在必要时接收它的文档。还有文档如何读取和写入文件。