0
我正在編寫一個在Android中發送短信的程序。點擊發送按鈕後,我希望獲得發送消息的狀態併發送。這部分工作正常。問題是我想讓電話號碼發送到內部廣播併發送到該電話號碼。這是必要的,因爲SMS可以一次發送給許多用戶。我怎樣才能做到這一點?我試圖將no放在Intent中並將其放入廣播接收器中,但它不起作用。下面是示例代碼:收到廣播後無法從Intent獲取數據
public void sendSMS(final String message, final String tele) {
String SENT = "SMS_SENT";
String DELIVERED = "SMS_DELIVERED";
SMSStatus sentStatus = new SMSStatus();
SMSDelivery deliveryStatus = new SMSDelivery();
//broadcast these during send and delivery
PendingIntent sentPI = PendingIntent.getBroadcast(SMS.this, 0, new Intent(SENT).putExtra("telephone", tele), 0);
PendingIntent deliveredPI = PendingIntent.getBroadcast(SMS.this, 0, new Intent(DELIVERED).putExtra("telephone",tele), 0);
registerReceiver(sentStatus, new IntentFilter(SENT));
registerReceiver(deliveryStatus, new IntentFilter(DELIVERED));
SmsManager sms = SmsManager.getDefault();
sms.sendTextMessage(tele, null, message, sentPI, deliveredPI);
}
與廣播接收機的一個:
class SMSStatus extends BroadcastReceiver {
@Override
public void onReceive(Context arg0, Intent arg1) {
//Toast.makeText(SMS.this, "Sent to " + arg1.getExtras().getString("telephone"), Toast.LENGTH_LONG).show();
String no = arg1.getExtras().getString("telephone");
switch (getResultCode()) {
case Activity.RESULT_OK:
Toast.makeText(getBaseContext(), "Message sent " + no, Toast.LENGTH_SHORT).show();
break;
...
}
}
只是爲了信息,第一代碼被稱爲一個循環中通過不同的電話號碼。
是什麼問題,是不是空或敬酒不顯示? – varunkr
@varunkr它顯示,但始終只有第一個電話。沒有。它沒有得到第二個或第三個電話。沒有。 – birraa
然後請張貼循環部分以及 – varunkr