0

我在查找有关正确使用加速度计以及使用分派器更新文本框的文档或示例时遇到问题。似乎应该很容易,但所有的例子都是8.0,这显然是使用Microsoft.Devices.Sensors;Windows phone 8.1加速度计和更新UI

显然你应该使用Windows.Devices.Sensors;你会认为它是相同的,但是像Start()和Stop方法的东西不再存在。我试图使用来自Microsoft的Microsoft AccelerometerHelper类here

另外旧的Dispatcher现在是基于this的CoreDispatcher?

还试图使用这个库,但它也使用旧的命名空间:http://code.msdn.microsoft.com/wpapps/Shake-Gesture-Library-04c82d5f

谁能要么提供一个例子或指导我如何在8.1,你会注册加速度事件和更新一些信息用户界面的文本框,像X轴?

非常感谢!

+0

是否正在开发一个Silverlight或WinRT的应用程序? –

+0

@igrali - 我正在构建一个可能以通用应用程序结束的手机8.1应用程序 – gcoleman0828

回答

0

我结束了使用Silverlight 8.1,每微软这个特殊的应用程序。他们正在“寻找”到为什么手机API是一个没有抖动事件只有一个。

3

尝试这个代码适用于Windows Phone 8.1 Silverlight应用程序。它使用Microsoft.Devices.Sensors

// initialize 
Accelerometer accelerometer = new Accelerometer(); 
accelerometer.CurrentValueChanged += accelerometer_CurrentValueChanged; 
accelerometer.Start(); 

void accelerometer_CurrentValueChanged(object sender, SensorReadingEventArgs<AccelerometerReading> e) 
{ 
    Dispatcher.BeginInvoke(() => 
    { 
     XAxisText.Text = e.SensorReading.Acceleration.X.ToString(); 
    }); 
} 

Accelerometer的Windows Phone应用程序的通用用途下面的代码:

Accelerometer accelerometer = Accelerometer.GetDefault(); 
accelerometer.ReadingChanged += accelerometer_ReadingChanged; 

async void accelerometer_ReadingChanged(Accelerometer sender, AccelerometerReadingChangedEventArgs args) 
{ 
    await this.Dispatcher.RunAsync(CoreDispatcherPriority.Normal,() => 
    { 
     XAxisText.Text = args.Reading.AccelerationX.ToString(); 
    });    
} 
+0

显然,我无法从Windows 8.1手机模板访问该名称空间?当我去添加引用时,它不显示作为一个选项?这是一些扩展还是什么?我使用Windows.Devices.Sensors;对我来说就是这样。还有8.0似乎仍然有你在上面提供的名称空间。 – gcoleman0828

+0

我已更新Windows Phone Store应用程序 – Ku6opr

+0

@ ku6oper的答案。谢谢,我会试试这个,如果它可行,也许我可以适应摇动手势库来使用这种技术。你是否熟悉那个图书馆?我认为检测抖动会很容易,但显然不是那么容易 – gcoleman0828

0

我有同样的问题,便无法弄清楚如何让摇事件工作。 然后我在微软网站上找到这个例子http://code.msdn.microsoft.com/Windows-Phone-81-samples-08631ca7 在Accelerometer解决方案中,我发现非常好的描述:“Windows Phone没有加速度计抖动事件@因此,好像我们必须编写我们自己的Shake事件实现)

+0

是的..我尝试了同一个......有趣的是它说电话支持..不是很多。我和一个微软的人谈过话,他说要使用Silverlight 8.1 ...这个应用程序可以。他们正在研究它,但因为电话是唯一没有Shake事件的电话。 – gcoleman0828