Jan*_*nBo 5 android android-intent smsmanager android-broadcast
我已经阅读了有关如何发送和接收多部分消息的多个线程.我已经实现了以下代码,它的工作原理!
PendingIntent sentPI = PendingIntent.getBroadcast(this, 0, new Intent(SENT), 0);
PendingIntent deliveredPI = PendingIntent.getBroadcast(this, 0, new Intent(DELIVERED), 0);
//---when the SMS has been sent---
registerReceiver(SMSBroadcastReceiver1, new IntentFilter(SENT));
//---when the SMS has been delivered---
registerReceiver(SMSBroadcastReceiver2, new IntentFilter(DELIVERED));
SmsManager smsManager = SmsManager.getDefault();
ArrayList<String> parts = smsManager.divideMessage(smsToSend);
ArrayList<PendingIntent> sentList = new ArrayList<PendingIntent>();
ArrayList<PendingIntent> deliveredList = new ArrayList<PendingIntent>();
for (int i = 0; i < parts.size(); i++) {
sentList.add(sentPI);
deliveredList.add(deliveredPI);
}
//smsManager.sendTextMessage(phoneNumber, null, smsToSend, sentPI, deliveredPI);
smsManager.sendMultipartTextMessage(phoneNumber, null, parts, sentList, deliveredList);
Run Code Online (Sandbox Code Playgroud)
我有一个注册的SMSBroadcastReceiver2和SMSBroadcastReceiver1.
让我担心的是:
我有一个PendingIntentsentPi deliveredPi,并注册了SMSBroadcastReceiver1和SMSBroadcastReceiver2.
然后我将它们多次放入ArrayList中,具体取决于消息的长度.
这是一件好事吗?或者我应该为邮件的每个部分使用不同的Intent和Receiver.
接收器何时触发我的代码?我注意到它只在消息发送时触发一次,在接收到消息时触发一次(我将它们编码为在那些时刻显示Toast消息),无需消息多长时间.是第一部分交付还是最后......?
| 归档时间: |
|
| 查看次数: |
1946 次 |
| 最近记录: |