Android 发送多条sms时将数据插入数据库时出错
我设计了自己的短信撰写界面, 在这种情况下,当单击“发送”按钮时 我正在向多个收件人发送消息Android 发送多条sms时将数据插入数据库时出错,android,sms,Android,Sms,我设计了自己的短信撰写界面, 在这种情况下,当单击“发送”按钮时 我正在向多个收件人发送消息 sendBTN.setOnClickListener(new OnClickListener() { public void onClick(View v) { // TODO Auto-generated method stub avedPhoneno = "5558,5554,5556";
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();
}
}
发送短信的方法是
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三次
我想把这三个数字都存储到数据库中。
我想储存时,只有味精是正确发送
i、 例如,当getResultCode()=Activity.RESULT\u确定时代码>
能够发送到三个数字,但不能存储在数据库中
如何克服这个问题 我能确定我们必须添加PendingEvent.FLAG_UPDATE_CURRENT | Intent.FILL_IN_DATA的标志,并使用Intent.putExtra传递数据