Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用光传感器的Windows Phone应用程序在几秒钟后关闭_C#_Windows Phone 8_Windows Phone - Fatal编程技术网

C# 使用光传感器的Windows Phone应用程序在几秒钟后关闭

C# 使用光传感器的Windows Phone应用程序在几秒钟后关闭,c#,windows-phone-8,windows-phone,C#,Windows Phone 8,Windows Phone,我需要有关Windows Phone问题的帮助。我正在用传感器(Windows.Devices.sensors)做一些测试,我尝试做一些无用但有趣的事情:阅读音乐(使用MediaElement)并根据光传感器测量的亮度改变音量 一切正常运行了几秒钟,突然,应用程序在我的测试设备(带有WP 8.1的Lumia 925)上关闭,但测试仍在Visual Studio中进行。谁能告诉我我做错了什么 private DispatcherTimer timer; public MainPage() {

我需要有关Windows Phone问题的帮助。我正在用传感器(Windows.Devices.sensors)做一些测试,我尝试做一些无用但有趣的事情:阅读音乐(使用MediaElement)并根据光传感器测量的亮度改变音量

一切正常运行了几秒钟,突然,应用程序在我的测试设备(带有WP 8.1的Lumia 925)上关闭,但测试仍在Visual Studio中进行。谁能告诉我我做错了什么

private DispatcherTimer timer;

public MainPage()
{
    this.InitializeComponent();
    this.NavigationCacheMode = NavigationCacheMode.Required;

    // Timer
    timer = new DispatcherTimer();
    timer.Interval = TimeSpan.FromMilliseconds(10.0);
    timer.Tick += timer_Tick;
    timer.Start();
}

void timer_Tick(object sender, object e)
{
    var lightSensor = LightSensor.GetDefault();
    var lightSensorValue = Math.Truncate(lightSensor.GetCurrentReading().IlluminanceInLux);
    TextBlock_SensorValue.Text = lightSensorValue.ToString();
    MediaElement_music.Volume = lightSensorValue > 100 ? 1.0 : lightSensorValue / 100.0;
}

查看代码时会出现一些问题。为什么要使用计时器a而不使用注释中所述的事件

对于Visual Studio问题,请检查是否已在“调试/异常”下启用了抛出选项。。。对于CLR。VS将在您可能看不到的异常上中断

另外需要注意的是,10毫秒的计时器非常快,处理程序代码可能会被多次调用,这可能会导致一些尴尬的副作用


编辑:顺便说一下,我无法重现你的错误。我的应用程序在几分钟内从未关闭/崩溃。使用WP Silverlight 8.1项目在Lumia 920上进行测试。唯一的区别是我端的页面缓存未启用。

是否尝试降低刷新率?每10毫秒就有一次often@thumbmunkeys我会试试看,10ms确实很常见,但奇怪的是,应用程序自动关闭,没有在Visual Studio上报告错误。当我使用本页示例中描述的方法时,一切似乎都很好。即使我的测试代码不是最优的,我也无法解释这个问题!你在VisualStudio的输出窗口中看到了什么有趣的东西吗?我还感到惊讶的是,你可以通过该方法设置TextBlock的Text属性-通常你必须使用Dispatcher确保你在UI线程上…@gregstoll Visual Studio上没有出现错误,当应用程序在我的手机上关闭时,一切都会继续在该端运行!关于线程,在我看来,对于Dispatcher,您没有这个问题(与引发线程问题的基本计时器相反),但我不确定。。。