0

テキストメッセージからブロードキャストレシーバーを開始するためのキーワードを設定するにはどうすればよいですか?ブロードキャストレシーバーが機能しました。問題は、テキストメッセージの受信時にアクティビティが開始され、1つまたは2つのキーワード「ホテルおよび/またはハウス」の受信から開始する必要があることです。これを行うにはどうすればよいですか。ありがとうございます。以下は私のコードです

-マニフェスト-""

-実際の受信者クラス-パブリッククラスSMSReceiverはBroadcastReceiverを拡張します{

public void onReceive(Context context, Intent intent) {
    Bundle bundle = intent.getExtras();

    Object messages[] = (Object[]) bundle.get("pdus");
    SmsMessage smsMessage[] = new SmsMessage[messages.length];
    for (int n = 0; n < messages.length; n++) {
        smsMessage[n] = SmsMessage.createFromPdu((byte[]) messages[n]);
    }

    //show first message
    Toast toast = Toast.makeText(context, "Received SMS: " + smsMessage[0].getMessageBody(), Toast.LENGTH_LONG);
    toast.show();

    //and then start an activity

    Intent i = new Intent(context,AppActivity.class);
    i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    context.startActivity(i);   
4

1 に答える 1

1

BroadcastReceiver基づいてインテントをリッスンし<intent-filter>ます。データフィルターは、をフィルター処理しないため、要求している種類のフィルター処理を提供しませんSmsMessage.getMessage()。SMSのリッスンに加えてできることは、各メッセージでキーワードをスキャンしてから、目的のアクティビティを開始することです。

于 2012-05-24T00:02:41.047 に答える