2010-11-23 7 views

Antwort

2

Wenn Ihr Gerät im eingeschalteten Zustand ist, während der Timer läuft, können Sie das Timer-Steuerelement verwenden. Wenn jedoch für einige Zeit keine Benutzeraktion erfolgt, wird das Gerät in den Ruhezustand versetzt und der Timer wird nicht ausgelöst. Um Batterielebensdauer zu sparen, ist es eine gute Entscheidung, das Gerät in den Schlafzustand zu versetzen.

Werfen Sie einen Blick auf die LargeIntervalTimer in OpenNetCF. Dadurch wird das Gerät aus dem Ruhezustand aktiviert.

+0

Meine Anwendung wird ständig auf viele Ereignisse wie SMS, Anrufe, Dateien, GPS, Kontakt, Kalender usw. hören. Ich kann nicht sagen, wenn keine Benutzeraktion stattfindet. Aber meine Anwendung muss ständig auf alle Aktivitäten hören. was schlagen Sie vor? Ich verwende derzeit Timer-Steuerung mit einem Intervall von 60 Minuten. Meine Anwendung wird ständig auf Ereignisse hören, aber ich muss den Server nur einmal in 60 Minuten aufrufen. Also, mein Timer wird einmal in 60 Minuten aufgerufen. –

+2

Ich empfehle, dass Sie LargeIntervalTimer verwenden. Dies stellt sicher, dass der Timer ausgelöst wird, selbst wenn die Anwendung in den Schlafzustand gegangen ist. – kgiannakakis

+0

Ja, LargeIntervalTimer sieht vielversprechend aus. Ich werde es versuchen und dich wissen lassen. –

0

Sie P/Invoke die CeSetUserNotificationEx native Funktion mit dem dwType Feld der CE_NOTIFICATION_TRIGGER Struktur auf CNT_TIME und den stStartTime Feldsatz zu dem Moment, in der Zukunft, wenn Sie den Web-Service anrufen mögen.

Entweder starten Sie jedes Mal eine App und lassen Sie sie nach dem Anruf absterben, oder lassen Sie eine App immer im Hintergrund aktiv sein, während Sie auf ein benanntes Ereignis warten, das vom Benachrichtigungssubsystem festgelegt wird.