Frage

In der CE-basierten Windows Mobile Sie die Bildschirm-Hintergrundbeleuchtung von Timing verhindern könnten die SetPowerRequirement und ReleasePowerRequirement API ist wie so:

IntPtr handle = SetPowerRequirement("BKL1:", PowerState.FULL, 1, IntPtr.Zero, 0);
// screen won't timeout while you do stuff in here
ReleasePowerREquirement(handle);

Ist eine ähnliche Sache möglich auf WP7?

War es hilfreich?

Lösung

Ja, ist es möglich. Sie können PhoneApplicationService.Current.UserIdleDetectionMode benutzen Sperren der Bildschirmbeleuchtung Timing und stoppen den Bildschirm zu beenden.

Sie können auch PhoneApplicationService.Current.ApplicationIdleDetectionMode verwenden, damit die Anwendung unter einem Sperrbildschirm Laufen zu halten.

Hier einige weitere Einzelheiten über diese zwei Möglichkeiten:

UserIdleDetectionMode

Diese Deaktivierung wird der Bildschirm von Timing und Sperren zu stoppen. Als Beispiel ich disable UserIdleDetectionMode, während eine große Datei herunterzuladen, so dass der App nicht tötet den Download auf halben Weg.

Wenn der Download abgeschlossen ist, ich wieder aktivieren UserIdleDetectionMode so kann der Bildschirm Timeout wie gewohnt.

ApplicationIdleDetectionMode

Hinweis: Dies ist ein einmaliger Hit. Sie können es deaktivieren, aber man kann es nicht wieder aktivieren.

Wenn Sie deaktivieren ApplicationIdleDetectionMode, Ihre App läuft weiter, wenn der Bildschirm gesperrt. Ihre App wird noch sterben, wenn der Benutzer beginnt, eine andere App.

Die Zertifizierungsanforderungen verlangen, dass Sie den Benutzer das erste Mal deaktivieren ApplicationIdleDetectionMode aufzufordern. Z.B. „Diese App wird auch weiterhin unter einem gesperrten Bildschirm laufen und kann die Batterie entleeren. Sind Sie in Ordnung, dass?“ Wenn Sie nicht Ihre Anwendung abgelehnt wird.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top