2012-02-11 22 views
5

Gần đây, một câu hỏi ở đây về SO đã chuyển sự chú ý này đến tôi. Android không có API công khai để nghe SMS đến. Đã từng là một hành động android.provider.Telephony.SMS_RECEIVED, nhưng nó đã bị xóa khỏi API chính thức và ngay cả khi nó vẫn hoạt động, rõ ràng nó không phải là bằng chứng trong tương lai. Tôi không cần tính năng này ngay bây giờ, nhưng tôi có thể trong tương lai, và tôi thấy nó rất lạ nó không có sẵn bởi vì:Tại sao Android API không cho phép công khai nghe tin nhắn SMS đến?

  1. Android luôn khuyến khích sự tùy biến sâu sắc của từng phần nhỏ của hệ thống (nghĩ rằng của tha launcher, trình quay số, ứng dụng liên lạc)
  2. có rất nhiều lựa chọn thay thế cho các ứng dụng SMS tiêu chuẩn đã có trong thị trường (chưa kể đến những người của các nhà cung cấp)

lẽ tôi đang thiếu một cái gì đó hoặc có thể có lý do kỹ thuật - Tôi thừa nhận không biết cách hoạt động của SMS

+0

Xem: https://groups.google.com/d/topic/android-developers/8fL6RjZMOnk/discussion –

+0

Liên kết đó không thêm bất kỳ thông tin nào – Raffaele

+0

Phiên bản API nào bị xóa? Nó vẫn hoạt động? – samwize

Trả lời

0

Tôi nghĩ rằng nếu bạn thiết lập một IntentReceiver nó sẽ làm việc tốt.

public class SMSListener extends IntentReceiver { 

    @Override 
    public void onReceiveIntent(Context context, Intent intent) { 
     SmsMessage[] messages = Telephony.Sms.Intents.getMessagesFromIntent(intent); 
    ... 
} 

Hãy chắc chắn rằng bạn cũng bao gồm sự cho phép
<uses-permission android:name="android.permission.RECEIVE_SMS" /> trong AndroidManifest của bạn.

Điều này cũng giống như tôi biết về điều đó, nhưng có thể các liên kết khác sẽ giúp bạn.
Here's one

Here's khác.

Ngoài ra, mặc dù đây không phải là một chủ đề nhỏ từ câu hỏi của bạn, tôi đã học được những gì tôi biết về Android SMS từ this site, vì vậy có thể bạn cũng có thể chọn thứ gì đó từ đó!

Chúc may mắn và tôi hy vọng tôi đã giúp!

+0

Có lẽ bạn đã không đọc câu hỏi của tôi một cách cẩn thận, nhưng tôi quan tâm đến lý do tại sao phương pháp này không có trong tài liệu chính thức/API . Tôi đã biết những gì bạn đề xuất, nhưng không an toàn khi sử dụng thứ gì đó được xóa khỏi tài liệu công khai của nhà cung cấp – Raffaele

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