Windows phone中的传感器主要包括加速计传感器、罗盘传感器、陀螺仪传感器等

加速计传感器

  Accelerometer类是加速传感器的接口,Accelerometer类位于Windows.Devices.Sensors命名空间下。 要使用系统加速计的功能,需要创建一个Accelerometer类的对象,然后用这个对象来捕获手机当前的加速状态。 Accelerometer类提供了ReadingChanged事件用于检测加速计的状态,并返回X、Y、Z轴信息。

  使用Accelerometer类之前要引用Microsoft.Devices.Sensors命名空间。

  主要代码如下:

 using Microsoft.Devices.Sensors;

 namespace accelerometer
{
public partial class MainPage : PhoneApplicationPage
{
Accelerometer acc = new Accelerometer(); public MainPage()
{
InitializeComponent();
acc.ReadingChanged += acc_ReadingChanged;
acc.Start();
} void acc_ReadingChanged(object sender, AccelerometerReadingEventArgs e)
{
Deployment.Current.Dispatcher.BeginInvoke(() => ThreadStaticAccelerometerChanged(e));
}
void ThreadStaticAccelerometerChanged(AccelerometerReadingEventArgs e)
{
Xtext.Text = e.X.ToString();
Ytext.Text = e.Y.ToString();
Ztext.Text = e.Z.ToString();
}
}
}

罗盘传感器

  用罗盘传感器来确定手机相对于地球北极磁场旋转的角度。 Compass类为Windows phone应用程序提供对设备罗盘传感器的访问。 首先调用罗盘类Compass的GetDefault()获取到罗盘对象,然后通过属性ReportInterval设置当前报告罗盘读书时间间隔。通过GetCurrentReading方法获取当前的属性值以及通过ReadingChanged事件获取方向的变化。

使用Compass类之前要引用Microsoft.Devices.Sensors命名空间。

  主要代码如下:

 public myCompass()
{
InitializeComponent();
if (Compass.IsSupported)
{
compass = new Compass();
compass.CurrentValueChanged += new EventHandler<SensorReadingEventArgs<CompassReading>>(compass_CurrentValueChanged);
compass.TimeBetweenUpdates = TimeSpan.FromMilliseconds();
compass.Start();
}
else
MessageBox.Show("设备不支持电子罗盘");
} void compass_CurrentValueChanged(object sender, SensorReadingEventArgs<CompassReading> e)
{
if (compass.IsDataValid)
{ Deployment.Current.Dispatcher.BeginInvoke(() =>
{ HeadingAccuracy = e.SensorReading.HeadingAccuracy; if (!Calibrating)
{
TrueHeading = e.SensorReading.TrueHeading;
if (( <= TrueHeading) && (TrueHeading <= ))
ReciprocalHeading = TrueHeading - ;
else
ReciprocalHeading = TrueHeading + ;
CompassFace1.RenderTransformOrigin = new Point(0.5, 0.5);
transform.Angle = - TrueHeading;
CompassFace1.RenderTransform = transform; } });
}
}
}
}

陀螺仪传感器

  陀螺仪传感器测量手机沿着其三个主轴的旋转速度 Gyrometer类表示陀螺仪传感器,为Windows phone应用程序提供对设备陀螺仪传感器的访问,返回有关X、Y、Z轴的角速度值。

最新文章

  1. .Net中的AOP系列之《方法执行前后——边界切面》
  2. [译]Mongoose指南 - 中间件
  3. bash脚本编程之二 字符串测试及for循环
  4. 如何用js检查浏览器是否安装flash插件
  5. lbs basic mongodb
  6. 通过scrollerview自定义collectionview(常用于推荐关注界面)
  7. Java基础知识强化之集合框架笔记22:List集合的三个子类的特点(面试题)
  8. 9款极具创意的HTML5/CSS3进度条动画(免积分下载)
  9. jquery列队动画简单演示
  10. Oracle学习笔记_07_模糊查询
  11. hi3531的时钟系统
  12. 浏览器之window对象--javascript
  13. Redis学习笔记(三)常用命令整理
  14. WebService学习--(一)webservice相关概念
  15. Timeline Style
  16. (转)awesome-text-summarization
  17. git 基本操作命令
  18. tab切换webuploader失效的解决方法
  19. Doxygen简单经验谈。。。
  20. python 排序模块 ———— heapq(学习笔记)

热门文章

  1. Oracle开发常用函数 max 最大数 自动加 1 的模式
  2. C++入职学习篇--新员工入职(持续更新)
  3. Laravel实用小功能
  4. H5 坑
  5. linux的ulimit各种限制之深入分析
  6. 中国省市区地址三级联动插件---jQuery Distpicker
  7. Master Nginx(8) - Troubleshooting Techniques
  8. 清北学堂模拟赛d2t6 分糖果(candy)
  9. springCloud学习-断路器(Hystrix)
  10. 【ACM】nyoj_106_背包问题_201308152026