Java 安卓:收到短信时创建一个AlertDialog/弹出窗口

Java 安卓:收到短信时创建一个AlertDialog/弹出窗口,java,android,android-alertdialog,Java,Android,Android Alertdialog,我正试图建立一个程序,读取来自特定发件人的短信。然后它将文本解析为一个地址。会自动弹出一个带有地址和两个按钮的弹出窗口,OK(取消弹出窗口)和Map(将地址发送到显示地址的地图视图)。我不知道如何创建一个显示时间、地址和呼叫类型的弹出窗口 package bkgdService; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; impo

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

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
    }
}
套餐服务;
导入android.content.BroadcastReceiver;
导入android.content.Context;
导入android.content.Intent;
导入android.os.Bundle;
导入android.telephony.sms消息;
导入android.widget.Toast;
公共类SMSReceiver扩展了BroadcastReceiver
{
公共int calltypeIndexA;
私有字符串时间;
私有字符串调用类型;
私有字符串位置;
公共void onReceive(上下文、意图)
{
Bundle myBundle=intent.getExtras();
SmsMessage[]消息=null;
if(myBundle!=null)
{
Object[]pdus=(Object[])myBundle.get(“pdus”);
消息=新的SmsMessage[pdus.length];
for(int i=0;i

}

是的,它们中的许多可能会令人困惑。我看看能不能帮上忙。如果你的应用程序不够健壮,你可以马上发出警报。如果您认为它会变得更大,我建议为您的警报/弹出窗口创建一个单独的类,并通过意图传递数据。这里是文档中的一个链接,它很好地解释了如何创建自定义警报。您可以使用此选项创建自定义警报以弹出。您可以在应用程序的开头声明消息、日期等变量,让其他人在警报中使用它们作为文本视图显示在警报中。或者正如我所说的,如果你的程序中有更多的警报,你可能会考虑为他们创建一个单独的类。希望这有帮助

您是否获得了所有正确的信息,但无法将其放在弹出窗口中?是的,我不知道如何创建弹出窗口,然后将信息放在其中,在线教程令人难以置信地困惑。谢谢!我真的很感激不客气!如果你有任何问题,让我知道,但该链接应该解释很多。很高兴我能帮忙。快乐编程!