選択した番号、つまりデータベースに保存されている番号と一致する場合、着信番号にメッセージを送信する自動返信アンドロイド アプリケーションを開発しています。正常に実行されていますが、メッセージを 2 回送信し、その着信番号に 3 つのメッセージを送信します。
次のコードを使用しています。
void processCall(String inNumber, String msg) {
try {
String sent = "android.telephony.SmsManager.STATUS_ON_ICC_SENT";
PendingIntent pisent = PendingIntent.getBroadcast(getBaseContext(),0, new Intent(sent), 0);
PendingIntent pidel = PendingIntent.getBroadcast(getBaseContext(),0, new Intent("Dilivered"), 0);
SmsManager man = SmsManager.getDefault();
//ArrayList<String> smstext = man.divideMessage(msg);
man.sendTextMessage(inNumber, null, msg, pisent, null);
//man.sendMultipartTextMessage(inNumber, null, smstext, null, null);
Toast.makeText(getBaseContext()," msg send successfully to " + inNumber, Toast.LENGTH_SHORT).show();
ContentValues sentSms = new ContentValues();
sentSms.put(TELEPHON_NUMBER_FIELD_NAME, inNumber);
sentSms.put(MESSAGE_BODY_FIELD_NAME, msg);
ContentResolver contentResolver = getContentResolver();
contentResolver.insert(SENT_MSGS_CONTET_PROVIDER, sentSms);
return;
}
catch (Exception e) {
Toast.makeText(getApplicationContext(), "SMS faild, please try again later!", Toast.LENGTH_LONG).show();
e.printStackTrace();
}
どこで間違っていますか?どんな助けでも大歓迎です。