2009-06-13 40 views
24

Tôi đã tạo một BroadcastReceiver và định cấu hình bộ lọc với bộ lọc hành động android.provider.Telephony.SMS_RECEIVED để nó được gọi mỗi lần điện thoại nhận được một văn bản.Thiết bị thu phát sóng Android cho tin nhắn SMS đã gửi?

Có một số sự kiện/hành động hoặc cách khác để ứng dụng của tôi được thông báo bất cứ khi nào điện thoại gửi một văn bản (tốt nhất là độc lập với ứng dụng gửi nó)?

Cho đến nay, tùy chọn duy nhất tôi thấy là thăm dò nhà cung cấp nội dung cho content://sms/sent thậm chí không cung cấp cho tôi tất cả văn bản đã gửi vì ứng dụng có thể chọn không đặt nó ở đó.

+0

Khi API gửi tin nhắn SMS (android.telephony.gsm.SmsManager) cho phép nhà phát triển chỉ định các ý định tùy chỉnh được phát khi gửi thành công hoặc không thành công, tôi không nghĩ rằng có thể nghe một tin nhắn sms đã gửi "ý định. – Henning

+0

Hi Josef, tôi tự hỏi có tou thực hiện bất kỳ tiến bộ hơn với điều này? Hiện tại tôi có thể nghe tin nhắn được gửi qua người quan sát nội dung nhưng tôi muốn ngừng gửi tin nhắn qua mạng GSM/CDMA và được gửi qua kết nối dữ liệu thay thế. Bạn có thông tin chi tiết về cách chặn tin nhắn gửi qua GSM/CDMA không? –

Trả lời

21

Đáng tiếc là có (hiện tại) có cách nào để thực hiện một BroadcastReceiver vì ứng dụng sms tiêu chuẩn sử dụng một SmsManger để gửi những thông điệp mà quy định cụ thể các lớp nội bộ bê tông cho các ý đồ gửi và chuyển giao (SmsReceiver.classMessageStatusReceiver.class tương ứng). Không phải là nó là bất kỳ sự an ủi nhưng bạn có thể tìm thấy những nhận xét sau đây trong ứng dụng Sms của source:

// TODO: Fix: It should not be necessary to 
// specify the class in this intent. Doing that 
// unnecessarily limits customizability.

Giải pháp thay thế tốt nhất có vẻ là bỏ phiếu content://sms/sent, có khả năng sử dụng một ContentObserver.

+0

Hi Josef, Tôi băn khoăn không có tiến bộ nào với điều này? Hiện tại tôi có thể nghe tin nhắn được gửi qua người quan sát nội dung nhưng tôi muốn ngừng gửi tin nhắn qua mạng GSM/CDMA và được gửi qua kết nối dữ liệu thay thế. Bạn có thông tin chi tiết về cách chặn tin nhắn gửi qua GSM/CDMA không? –

+1

Không, thật không may. Nhưng tôi nghĩ rằng * chặn * tin nhắn sẽ thậm chí còn phức tạp hơn. Tôi sẽ cho bạn biết nếu tôi nghĩ về điều gì đó. Trong khi đó, hãy thử hỏi một câu hỏi trên stackoverflow.com ;-) –

+0

Tất nhiên, ContentObserver chỉ phát độc đáo với những ứng dụng thực sự sử dụng kho lưu trữ nội dung SMS/MMS. Ứng dụng nhắn tin nào (và tất cả các ứng dụng độc hại) không làm. – Phil

Các vấn đề liên quan