الاتفاق الإطاري - توقف System.Threading.Timer عندما يتحول المستخدم خارج الشاشة

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

سؤال

ولدي تطبيق يحتاج الى "استطلاع" لخدمة ويب لمعرفة ما إذا كان المستخدم لديه أي رسائل جديدة قيد الانتظار. ليس لدي أي سيطرة على خدمة ويب لذلك لا يمكن ان تتحول إلى آلية "دفع"، أنا عالقة تقديم طلب كل عدد X من ثوان لمعرفة ما هو متاح.

وأنا باستخدام System.Threading.Timer لإجراء الطلب بين الحين والآخر، لكنني واجهت بعض المشاكل. أكبر هو أن توقف تشغيل عند إرسال الهاتف في وضع "الاستعداد" (الشاشة مغلقة، ولكن لا يزال قادرا على الحصول على مكالمات والبريد الإلكتروني / إخطارات TXT).

ويهمني حقا مثل ذلك تتصرف مثل التطبيقات الأساسية الأخرى. ماذا يمكنني أن أفعل لجعله العمل دون أن يكون كبير جدا من استنزاف البطارية؟

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

المحلول

والكراهية للإجابة على سؤالي الخاص، لكنني أشير إلى <لأ href = "http://blog.opennetcf.com/ctacke/PermaLink،guid،169fcc25-a42f-4a8f-b8af-6b6c85d8819d.aspx" يختلط = "نوفولو noreferrer" عنوان = "هذا"> هذا ، التي كانت قادرة على أداء حتى عندما يكون الجهاز في وضع السكون. يبدو انها تعمل تماما.

نصائح أخرى

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

وصحيح. على غرار الطريقة قد أجاب MusiGenesis، فلن تكون قادرة على فعل الكثير دون حفظ الجهاز وتشغيلها. على نحو مماثل لبعض الهواتف بإخطار أن "لعبة / التطبيق تشغيل" وبالتالي يتم صفع البطارية حولها.

وماذا عن الكتابة واجهة من هاتفك إلى الاستفادة من الرسائل النصية (الذي لا يزال يعمل) وسهولة الحصول عليها بإرسال رسالة نصية إلى خدمة الإنترنت؟ هل إصلاح الأجهزة التجارية؟ انا التخمين هذا النوع من الأسلوب قد توقف أيضا تشغيل، ولكن الرقم الأول انها الفكر؟

وأنا لست متأكدا من إطار المدمجة، ولكن في Win32 هناك WaitableTimer التي يمكن أن تستيقظ الكمبيوتر من وضع الاستعداد. الأمر يحتاج إلى بعض المكالمات المحلية كما لو لم يكن هناك المجمع في صافي.

وعلى الرغم من أنك لا يمكن تعديل خدمة ويب، قد تكون قادرا على إضافة ثانية "الظل" خدمة ويب في بين العملاء وخدمة ويب الأصلي. في خدمة ويب الظل يمكن الاستقصاء في خدمة ويب الأصلي ثم "دفع" أي شيء يكتشف لأجهزة المساعد الرقمي الشخصي.

وأعتقد أنك قد لا تزال لديها نفس المشكلة، وإن كان. لقد فعلت أبدا "دفع" من خدمة ويب، ولكن اعتقد انها تنفذ أساسا من خلال وجود العميل إجراء مكالمة الأولية إلى أسلوب خدمة ويب التي تأخذ مندوبة إلى أسلوب في العميل، الذي ثم توقف لخدمة ويب على. عندما يحتاج خدمة ويب لدفع شيء ما، فإنه يدعو أن مندوب. إذا ذهبت العميل في وضع الاستعداد في هذه الأثناء، ومحاولة لاستدعاء فإن مندوب من خادم تفشل.

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