Я разработал свой собственный экран для создания SMS-сообщений, в котором при нажатии кнопки отправки я отправляю сообщения нескольким получателям
sendBTN.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
avedPhoneno = "5558,5554,5556";
StringTokenizer st = new StringTokenizer(savedPhoneno, ",");
while (st.hasMoreElements()) {
tempMobileNumber = (String) st.nextElement();
System.out.println("tempMobileNumber in onclicklistener "+tempMobileNumber);
if (tempMobileNumber.length() > 0
&& encryptedText.toString().trim().length() > 0) {
sendSMS(tempMobileNumber,
base64msgString.concat(timeStamp1));
} else {
Toast.makeText(getBaseContext(),
"Please enter both phone number and message.",
Toast.LENGTH_SHORT).show();
}
}
, а метод отправки SMS-сообщений
private void sendSMS(String edittextSmsNumber, String msg) {
PendingIntent sentPI = PendingIntent.getBroadcast(this, 0, new Intent(SMS_SENT), 0);
PendingIntent DeliveredPI = PendingIntent.getBroadcast(this, 0, new Intent(SMS_DELIVERED), 0);
SmsManager sms = SmsManager.getDefault();
// short port = 8888;
sms.sendTextMessage(edittextSmsNumber, null, msg, sentPI, DeliveredPI);
}
и в широковещательном приемнике я пытаюсь сохранить данные в базе данных
private BroadcastReceiver sendreceiver = new BroadcastReceiver()
{
@Override
public void onReceive(Context context, Intent intent)
{
String info = "Send information: ";
switch(getResultCode())
{
case Activity.RESULT_OK:
info += "send successful";
smsSent = true;
if (senderinfo != null && timeStamp != 0 && msgString != null) {
System.out.println("entered into database");
System.out.println("tempMobileNumber is "
+ tempMobileNumber);
outboxDatabase.open();
outboxDatabase.insertintoOutbox(msgString, key,
tempMobileNumber, timeStamp);
outboxDatabase.close();
}
//unregisterReceiver(this);
break;
case SmsManager.RESULT_ERROR_GENERIC_FAILURE:
info += "send failed, generic failure";
break;
case SmsManager.RESULT_ERROR_NO_SERVICE:
info += "send failed, no service";
break;
case SmsManager.RESULT_ERROR_NULL_PDU:
info += "send failed, null pdu";
break;
case SmsManager.RESULT_ERROR_RADIO_OFF:
info += "send failed, radio is off";
break;
}
Toast.makeText(getBaseContext(), info, Toast.LENGTH_SHORT).show();
}
};
, но я могу сохранить последнее число, т.е. 5556 только в базе данных трижды.
Я хочу сохранить все три числа в базе данных.Я хочу сохранить, когда только сообщение отправлено правильно
, т. Е. Когда getResultCode() = Activity.RESULT_OK;
может отправить на три номера, но только не может сохранить в базе данных, как это преодолеть.