جهاز استقبال البث الذي يعمل بنظام Android لرسائل SMS المرسلة؟

StackOverflow https://stackoverflow.com/questions/990558

  •  13-09-2019
  •  | 
  •  

سؤال

لقد أنشأت أ BroadcastReceiver وتكوينها مع android.provider.Telephony.SMS_RECEIVED مرشح الحركة لذلك يطلق عليه في كل مرة الهاتف يتلقى نص.

هل هناك بعض الحدث / الإجراء أو بطريقة أخرى ليتم إخطار طلبي كلما الهاتف يرسل نص (يفضل أن يكون مستقلا عن التطبيق الذي يرسله)؟

حتى الآن الخيار الوحيد الذي أراه هو الاستطلاع لمزود المحتوى content://sms/sent الذي لا يعطيني جميع النصوص المرسلة لأن التطبيقات يمكن أن تختار عدم وضعه هناك.

هل كانت مفيدة؟

المحلول

لسوء الحظ هناك (حاليا) لا توجد طريقة لتنفيذ BroadcastReceiver لأن تطبيق SMS القياسي يستخدم SmsManger لإرسال الرسائل ولكنه يحدد فئات داخلية ملموسة للمحدة المرسلة والتسليم (SmsReceiver.class و MessageStatusReceiver.class على التوالى). ليس هذا هو أي عزاء ولكن يمكنك العثور على التعليق التالي في تطبيق SMS مصدر:

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

أفضل بديل يبدو أن الاقتراع content://sms/sent, يحتمل أن تستخدم ContentObserver.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top