0

我正在尝试构建一个从特定发件人那里读取 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
    }
}

}

4

1 回答 1

0

是的,他们中的许多人可能会很混乱。我会看看我能不能帮忙。如果您的应用程序不会非常健壮,您可以在此处发出警报。如果您认为它会变得更大,我建议为您的警报/弹出窗口创建一个单独的类,并通过意图链接传递数据这是文档中的一个链接,它很好地解释了如何创建自定义警报链接。您可以使用它来创建要弹出的自定义警报。您可以在应用程序的开头声明您的消息、日期等变量,然后在警报中将它们用作文本视图以显示在警报中。或者正如我所说,如果您将在整个程序中获得更多警报,您可能需要考虑为它们创建一个单独的类。希望这可以帮助!

于 2012-10-25T23:32:44.027 回答