سؤال

لدي برنامج له broadcast receiver يستمع إلى Phone_State ثم يرسل مستخدم يعرف intent.

حسنا، مشكلتي هي أن النظام يرسل أيضا intent (الشخص الذي أحاول استبداله ببرنامجي).

لذلك أحاول إيجاد طريقة ل CANCEL the systems intent.

لقد وجدت أنه إذا كان لدي جهاز توقيت فقط انتظر قليلا، فيمكنني إرسال الألغام بعد الأنظمة، ولكن هذا ليس جيدا جدا، وأحيانا يهزم الغرض من برنامجي.

أيضا، لا يمكنني تعيين برنامجي كإعداد افتراضي لأنه ليس برنامج طالب كامل. مجرد عمل واحد منه.

شخص ما الرجاء مساعدتي في العثور على كيفية الاستماع إلى نظام وإلغاءه intent/activity....

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

المحلول

شخص ما الرجاء مساعدتي في العثور على كيفية الاستماع إلى وإلغاء نية / نشاط النظام

لا يمكنك "إلغاء" النشاط، الفترة.

لا يمكنك استبدال المسجل.

لو النظام Intent تم إرسالها عبر sendOrderedBroadcast(), ، ثم يمكنك الاتصال abortBroadcast() منك BroadcastReceiver, وأي أجهزة استقبال ذات أولوية أقل لن تحصل على البث. ومع ذلك، ليس لدي أي دليل على ذلك ACTION_PHONE_STATE_CHANGED هو البث المطلوب، وأتمنى مخلصا أنه ليس كذلك.

كل ما تحاول القيام به ربما يجب أن يتحقق عبر التعديلات على البرامج الثابتة المخصصة الخاصة بك.

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