Android:收到短信时创建AlertDialog / PopUp

时间:2012-10-25 22:47:14

标签: java android android-alertdialog

我正在尝试构建一个从特定发件人读取SMS的程序。然后它将文本解析为一个地址。弹出窗口会自动显示地址和两个按钮,OK(取消弹出窗口)和Map(将地址发送到显示地址的MapView)。我不知道如何创建一个显示时间,地址和呼叫类型的弹出窗口。

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

public class SMSReceiver extends BroadcastReceiver
{
public int calltypeIndexA;
private String time;
private String callType;
private String location;

public void onReceive(Context context, Intent intent)
{
    Bundle myBundle = intent.getExtras();
    SmsMessage [] messages = null;

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

        for (int i = 0; i < messages.length; i++)
        {

        if (messages[i].getOriginatingAddress() == "messaging@iamresponding.com") 
            {

                messages[i] = SmsMessage.createFromPdu((byte[]) pdus[i]);
                String message = messages[i].getMessageBody();
                this.time = SupportMethods.findTime(message);
                this.callType = SupportMethods.findCallType(message);

                }
            }

        //ADD POPUP
    }
}

}

1 个答案:

答案 0 :(得分:0)

是的,其中许多可能会令人困惑。我会看看能不能帮忙。如果您的应用程序不是非常强大,您可以在那里发出警报。如果您认为它会变得更大,我建议您为警报/弹出窗口创建一个单独的类,并通过意图传递数据link这是一个文档中的链接,可以很好地解释如何创建自定义警报{ {3}}。您可以使用此选项创建自定义警报以进行弹出。您可以在应用程序开头声明您的消息,日期等变量,然后您可以在警报中使用它们作为TextViews在警报中显示。或者正如我所说,如果整个程序中有更多警报,您可能需要考虑为它们创建一个单独的类。希望这有帮助!