如何查询android中未读短信的数量

时间:2009-07-14 16:42:20

标签: android sms

您能否告诉我如何以程序方式查询Android中未读短信的数量?

如何实施短信未读计数,例如this链接:

2 个答案:

答案 0 :(得分:2)

API Docs显示一个常数,您应该能够找出哪些消息是received and unread

This article显示有人与SmsMessage类进行交互,这可能会给你一些指示。

答案 1 :(得分:1)

这是一个代码段,可让您在邮件到达时阅读。

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

public class SMSReceiver extends BroadcastReceiver
{
    public void onReceive(Context context, Intent intent)
    {
        Bundle myBundle = intent.getExtras();
        SmsMessage [] messages = null;
        String strMessage = "";

        if (myBundle != null)
        {
            Object [] pdus = (Object[]) myBundle.get("pdus");
            messages = new SmsMessage[pdus.length];

            for (int i = 0; i < messages.length; i++)
            {
                messages[i] = SmsMessage.createFromPdu((byte[]) pdus[i]);
                strMessage += "SMS From: " + messages[i].getOriginatingAddress();
                strMessage += " : ";
                strMessage += messages[i].getMessageBody();
                strMessage += "\n";
            }

            Toast.makeText(context, strMessage, Toast.LENGTH_SHORT).show();
        }
    }

}