windows phone感應器

來源:互聯網
上載者:User

標籤:

  Windows phone中的感應器主要包括加速計感應器、羅盤感應器、陀螺儀感應器等

加速計感應器

  Accelerometer類是加速感應器的介面,Accelerometer類位於Windows.Devices.Sensors命名空間下。 要使用系統加速計的功能,需要建立一個Accelerometer類的對象,然後用這個對象來捕獲手機當前的加速狀態。 Accelerometer類提供了ReadingChanged事件用於檢測加速計的狀態,並返回X、Y、Z軸資訊。

  使用Accelerometer類之前要引用Microsoft.Devices.Sensors命名空間。

  主要代碼如下:

 1 using Microsoft.Devices.Sensors; 2  3 namespace accelerometer 4 { 5     public partial class MainPage : PhoneApplicationPage 6     { 7         Accelerometer acc = new Accelerometer(); 8         9         public MainPage()10         {11             InitializeComponent();12             acc.ReadingChanged += acc_ReadingChanged;13             acc.Start();14         }15 16         void acc_ReadingChanged(object sender, AccelerometerReadingEventArgs e)17         {18             Deployment.Current.Dispatcher.BeginInvoke(() => ThreadStaticAccelerometerChanged(e));19         }20         void ThreadStaticAccelerometerChanged(AccelerometerReadingEventArgs e)21         {22             Xtext.Text = e.X.ToString();23             Ytext.Text = e.Y.ToString();24             Ztext.Text = e.Z.ToString();25         }26     }27 }
View Code

羅盤感應器

  用羅盤感應器來確定手機相對於地球北極磁場旋轉的角度。 Compass類為Windows phone應用程式提供對裝置羅盤感應器的訪問。 首先調用羅盤類Compass的GetDefault()擷取到羅盤對象,然後通過屬性ReportInterval設定當前報告羅盤讀書時間間隔。通過GetCurrentReading方法擷取當前的屬性值以及通過ReadingChanged事件擷取方向的變化。

使用Compass類之前要引用Microsoft.Devices.Sensors命名空間。

  主要代碼如下:

 1 public myCompass() 2         { 3             InitializeComponent(); 4             if (Compass.IsSupported) 5             { 6                 compass = new Compass(); 7                 compass.CurrentValueChanged += new EventHandler<SensorReadingEventArgs<CompassReading>>(compass_CurrentValueChanged); 8                 compass.TimeBetweenUpdates = TimeSpan.FromMilliseconds(400); 9                 compass.Start();10             }11             else12                 MessageBox.Show("裝置不支援電子羅盤");13         }14 15         void compass_CurrentValueChanged(object sender, SensorReadingEventArgs<CompassReading> e)16         {17             if (compass.IsDataValid)18             {19 20                 Deployment.Current.Dispatcher.BeginInvoke(() =>21                 {22 23                     HeadingAccuracy = e.SensorReading.HeadingAccuracy;24 25                     if (!Calibrating)26                     {27                         TrueHeading = e.SensorReading.TrueHeading;28                         if ((180 <= TrueHeading) && (TrueHeading <= 360))29                             ReciprocalHeading = TrueHeading - 180;30                         else31                             ReciprocalHeading = TrueHeading + 180;32                         CompassFace1.RenderTransformOrigin = new Point(0.5, 0.5);33                         transform.Angle = 360 - TrueHeading;34                         CompassFace1.RenderTransform = transform;35                        36                     }37                     38                 });39             }40         }41     }42 }
View Code

陀螺儀感應器

  陀螺儀感應器測量手機沿著其三個主軸的旋轉速度 Gyrometer類表示陀螺儀感應器,為Windows phone應用程式提供對裝置陀螺儀感應器的訪問,返回有關X、Y、Z軸的角速度值。

 

windows phone感應器

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.