私の Android アプリケーションでは、SMS を受信するとブロードキャストが開始されます。最初のSMSが終わっていないのに、新しいSMSをいつ受信するかを管理したい。最初のプロセスを殺すという考えがあります。でもどうしようもない。あなたが私を助けることができれば。私はAndroidのビギナーです。私のBrocastコードがあります。
ありがとう。
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.telephony.SmsMessage;
import android.text.TextUtils;
public class SMSReceiver extends BroadcastReceiver {
private static final String number = "15555215556";
@Override
public void onReceive(Context context, Intent intent) {
Bundle bundle = intent.getExtras();
Object[] messages = (Object[]) bundle.get("pdus");
SmsMessage[] sms = new SmsMessage[messages.length];
// Creation
for (int i=0; i < messages.length; i++) {
sms[i] = SmsMessage.createFromPdu((byte[]) messages[i]);
}
for (SmsMessage msg : sms) {
// Vérifie
if (TextUtils.equals(msg.getOriginatingAddress(), number)) {
Intent i = new Intent(context, DisplayActivity.class);
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
String sms2 = msg.getMessageBody();
i.putExtra("SMS",sms2);
context.startActivity(i);
abortBroadcast();
}
}
}
}