0

特定の送信者から SMS を読み取るプログラムを構築しようとしています。次に、テキストをアドレスに解析します。住所と [OK] (ポップアップをキャンセル) と [マップ] (住所を表示する MapView に住所を送信) の 2 つのボタンを含むポップアップが自動的に表示されます。時間、アドレス、および通話タイプを表示するポップアップを作成する方法がわかりません。

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

はい、それらの多くは非常に混乱する可能性があります。私が助けることができるかどうかを確認します。アプリの堅牢性がそれほど高くない場合は、その場でアラートを作成できます。はるかに大きくなると思われる場合は、アラート/ポップアップ用に別のクラスを作成し、インテントリンクを介してデータを渡すことをお勧めします。カスタムアラートリンクを作成する方法を実際に説明しているドキュメント内のリンクを次に示します。これを使用して、ポップアップするカスタムアラートを作成できます。アプリケーションの開始時に、他のユーザーがいるメッセージや日付などの変数を宣言してから、アラートでそれらをTextViewとして使用してアラートに表示することができます。または、私が言ったように、プログラム全体でより多くのアラートが発生する場合は、それらのために別のクラスを作成することを検討することをお勧めします。お役に立てれば!

于 2012-10-25T23:32:44.027 に答える