【发布时间】:2010-10-06 17:40:21
【问题描述】:
发送短信时,Android 不会触发传递意图。我正在 HTC EVO 4G 上的 Android 2.2 上对此进行测试。
这是当前代码。我看到“收到短信发送意图”。在日志中,但不是“收到 SMS 传递的意图。”。
// Constants
String SENT_ACTION = "SMS_SENT_ACTION";
String DELIVERED_ACTION = "SMS_DELIVERED_ACTION";
String CELL_NUMBER = "0000000000";
String MESSAGE = "Hello World!";
// SMS sent pending intent
PendingIntent sentIntent = PendingIntent.getBroadcast(this, 0,
new Intent(SENT_ACTION), 0);
// SMS delivered pending intent
PendingIntent deliveredIntent = PendingIntent.getBroadcast(this, 0,
new Intent(DELIVERED_ACTION), 0);
// SMS sent receiver
registerReceiver(new BroadcastReceiver(){
@Override
public void onReceive(Context context, Intent intent) {
Log.d(TAG, "SMS sent intent received.");
}
}, new IntentFilter(SENT_ACTION));
// SMS delivered receiver
registerReceiver(new BroadcastReceiver(){
@Override
public void onReceive(Context context, Intent intent) {
Log.d(TAG, "SMS delivered intent received.");
}
}, new IntentFilter(DELIVERED_ACTION));
// Send the SMS message
SmsManager sms = SmsManager.getDefault();
sms.sendTextMessage(CELL_NUMBER, null, MESSAGE, sentIntent, deliveredIntent);
【问题讨论】:
-
从目前部署在 Thunderbolt 中的操作系统开始,HTC 完全覆盖 SMS 发送和传递意图的所有结果。如果消息成功,则可以回复结果代码,但如果消息失败,HTC 会自动覆盖所有结果代码,您的代码不会触发,并自动重新发送消息。基本上,如果您尝试对 SMS 应用程序的发送和接收通知进行编码,那么您在 HTC 设备上浪费了您的时间!我将尝试向 HTC 发送电子邮件,如果我收到回复,我会感到震惊。
-
有任何回应或新消息吗?
标签: android android-intent sms