現在、データベースにある 300 以上の番号に一括 SMS を送信するアプリをコーディングしようとしています。
それらをすべて一度に送信すると、アプリが強制的に閉じられ、27/308 のようにしか送信できなかったという問題に直面しています。
for ループを使用して SMS を送信しています。
これは、次のステップに進む前に for ループを 1 ~ 2 秒遅らせることができるこの問題の修正ですか?
現在、私はこのコードを試しましたが、20 秒間しかスリープせず、ステップごとに 20 秒ではなく、一度にすべてのステップを実行します。sendSms メソッドをコメントアウトし、println(); でテストしました。
どんな助けでも大歓迎です。
for (i = 0; i < phoneNumbers.length; i++){
txtCommand = customIDs[i] + ";" + command + ";&W<";
if (phoneNumbers[i].length()>0 && txtCommand.length()>0) {
final String Messages = "Phone Number:" + phoneNumbers[i] + " " + "Message:" + txtCommand;
myHandler.postDelayed(new Runnable() {
public void run() {
System.out.println(Messages);
//sendSMS(phoneNumbers[i], txtCommand);
}
}, 20000);
}
else
Toast.makeText(getBaseContext(),
"Please enter both phone number and message.",
Toast.LENGTH_SHORT).show();
}