2014-01-15 2 views
0

В таких приложениях, как Flashlight-X, Flashlight-XT реализована функция: запуск светодиодной подсветки под блокировкой экрана. Общая реализация благоприятных света:WP8 светодиодный свет работает под экраном

var captureDevice = await AudioVideoCaptureDevice.OpenAsync(CameraSensorLocation.Back, AudioVideoCaptureDevice.GetAvailableCaptureResolutions(CameraSensorLocation.Back).First()); 

captureDevice.SetProperty(KnownCameraAudioVideoProperties.VideoTorchMode, VideoTorchMode.On); 

Этот код начинается свет, но свет получает отключается после 20 секунд после экрана блокируется. Что нужно сделать, чтобы держать свет под замком?

Блокировка потока пользовательского интерфейса на закрытом событии работает, но не хочет блокировать его после разблокировки устройства.

Некоторые люди предлагают отключить UserIdleDetectionMode, но это не помогает.

ответ

0

Следующий код позволит приложение для работы под LockScreen:

void rootFrame_Unobscured(object sender, EventArgs e) 
    { 

     status.Text = "coming back from lock screen!"; 
     // resume the application 
    } 

    void rootFrame_Obscured(object sender, ObscuredEventArgs e) 
    { 

     status.Text = "going under lock screen!"; 
     //minimize CPU usage, and save the settings. 
    } 

    private void RunAppUnderLockscreen(object sender, RoutedEventArgs e) 
    { 
     MessageBox.Show("The application will run under lock screen"); 
     PhoneApplicationService.Current.ApplicationIdleDetectionMode = IdleDetectionMode.Disabled; 
     PhoneApplicationFrame rootFrame = App.Current.RootVisual as PhoneApplicationFrame; 
     if (rootFrame != null) 
     { 
      rootFrame.Obscured += new EventHandler<ObscuredEventArgs>(rootFrame_Obscured); 
      rootFrame.Unobscured += new EventHandler(rootFrame_Unobscured); 
     } 
    } 

Посмотрите this MSDN blog post, чтобы получить больше полезной информации, как:

Пожалуйста, имейте в виду, что е приложение устанавливает ApplicationDetectionMode на IdleDetectionMode.Disabled, он не может изменить это на IdleDetecionMode.Enabled до тех пор, пока приложение не будет либо запущено снова (поэтому полный рестарм t) или дезактивирован, а затем активируется .

Смежные вопросы