设为首页 加入收藏

TOP

Windows Phone 8 基于定位的后台应用
2014-11-24 02:53:27 来源: 作者: 【 】 浏览:0
Tags:Windows Phone 基于 定位 后台 应用

此文是 升级到WP8必需知道的13个特性 系列的一个更新 希望这个系列可以给 Windows Phone 8开发者带来一些开发上的便利。


首先我先给大家介绍如使用定位


使用定位功能当然还是要在Manifest文件中声明 location 这里我用的是上一节的Demo 所以也选中了MAP如果你的应用没有使用地图控件可以不选MAP,




这里介绍一下 Geolocator 这个对象使用它来对地理位置进行获取、初始精度、追踪状态等。



下面主要使用了StatusChange 和 PositionChange 时间来进行位置获取和路径追踪。


注释中可以明确的看到返回的枚举值都代表着目前是什么样的一个状态,注意这里包括获取到用户在 系统设置中禁用了定位服务(之前有朋友问过我这个问题)




PositionChange 中的代码是上次讲地图的时候写的code添加了一个图层来标记当前位置,当然 args.Position.Coordinate 中的属性就是我们想得到的经纬度信息了



其次再给大家介绍如何使应用在后台继续跟踪定位


上面我只是实现了一个定位应用和WP7样的在后台不会继续工作,接下来我对这个项目稍作修改 让大家看看怎么做一个基于定位的后台应用。


首先呢我们需要手动修改Manifest文件,也就是右键Manifest文件文本编辑,在Tasks 下 DefaultTask节点中添加 BackgroundExecution节点如下:



之后呢我们打开 项目文件中的 App.xaml 在shell:PhoneApplicationService 中注册 RuningInBackground 事件用来标记此应用以及跑在后,并且我们声明两个静态属性 分别是 GeolocatorRunningInBackground,作用是在应用程序中共享状态。


分别在声明周期的 RunningInBackgroundActivated 事件中标记应用程序的后台运行情况,细心的同学可能已经发现我在前面声明 Geolocator 的时候已经是赋值给 App.Geolocator 以确保在后台也可以持续访问该对象



】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Windows Phone 8 镜头应用 - Lens.. 下一篇Windows Phone 8 Wallet 手机钱包..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: