Android không kích hoạt mục đích phân phối khi gửi tin nhắn văn bản. Tôi đang thử nghiệm điều này trên Android 2.2 trên HTC EVO 4G.Mục đích báo cáo gửi tin nhắn SMS của Android
Đây là mã hiện tại. Tôi thấy "Đã gửi ý định gửi SMS". trong nhật ký, nhưng không phải là "mục đích gửi SMS đã nhận được".
// 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);
Do hệ điều hành hiện tại được triển khai trong Thunderbolt, HTC hoàn toàn ghi đè tất cả các kết quả của SMS được gửi và phân phối ý định. Nếu thông báo thành công thì mã kết quả có thể được trả lời, nhưng nếu thông báo không thành công, HTC sẽ tự động ghi đè tất cả các mã kết quả, mã của bạn sẽ không kích hoạt và tự động gửi lại tin nhắn. Về cơ bản, nếu bạn cố gắng gửi mã và nhận thông báo cho một ứng dụng SMS, bạn lãng phí thời gian của mình trên các thiết bị HTC! Tôi sẽ cố gắng và gửi một email đến HTC và nếu tôi nhận được phản hồi thì tôi sẽ bị sốc. –
Bất kỳ câu trả lời hoặc tin tức mới nào? – cprcrack
hãy xem cuộc thảo luận này: http://code.google.com/p/android/issues/detail?id=2305 – mtekeli