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