Могу ли я предотвратить тайм -аут на экране на Windows Phone 7?
-
29-09-2019 - |
Вопрос
В мобильном мобильном устройстве на основе CE вы можете не допустить, чтобы экран обратный свет использовал SetPowerRequirement и RelesepowerRequirement API как SO:
IntPtr handle = SetPowerRequirement("BKL1:", PowerState.FULL, 1, IntPtr.Zero, 0);
// screen won't timeout while you do stuff in here
ReleasePowerREquirement(handle);
Можно ли на WP7?
Решение
Да, это возможно. Ты можешь использовать PhoneApplicationService.Current.UserIdleDetectionMode
Чтобы остановить время подсветки экрана и остановить блокировку экрана.
Вы также можете использовать PhoneApplicationService.Current.ApplicationIdleDetectionMode
Чтобы приложение продолжало работать под экраном блокировки.
Вот несколько подробностей об этих двух вариантах:
UserIdledeTectionMode
Отключение этого остановит экран от времени и блокировки. В качестве примера я отключаю пользовательский изначальныймод при загрузке большого файла, поэтому приложение не убивает загрузку на полпути.
Когда загрузка будет завершена, я повторно установил userIdledeTectionMode, чтобы экран мог, как обычно.
ApplicationIdeTectionMode
NB: Это единовременный удар. Вы можете отключить его, но вы не можете его повторно.
Если вы отключите ApplicationIdeTectectionMode, ваше приложение будет продолжать работать при блокировке экрана. Ваше приложение по -прежнему умрет, если пользователь запустит другое приложение.
Требования к сертификации просят, чтобы вы предложили пользователю в первый раз, когда вы отключите ApplicationIdetectionMode. Например, «Это приложение будет продолжать работать под заблокированным экраном и может сливать батарею. Вы в порядке с этим?» Если вы не будете отклонены, ваше приложение будет отвергнуто.