Android位置策略(二)

申请用户权限

为了接收来自NETWORK_PROVIDERGPS_PROVIDER的位置更新,你必须通过声明ACCESS_COARSE_LOCATIONACCESS_FINE_LOCATION权限来分别的在你的Android清单中申请用户权限,如:

<manifest ... >

    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

    ...

</manifest>

没有这些权限,你的应用程序会在请求位置更新时发生运行时错误。

注意:如果你同时使用了NETWORK_PROVIDER和GPS_PROVIDER,那么你只需要申请ACCESS_FINE_LOCATION权限,因为它包含这两个位置提供器的权限。(ACCESS_COARSE_LOCATION只包含了NETWORK_PROVIDER权限。)

定义最佳性能的模型

基于位置的应用程序目前是比较普遍的,但是由于精度不佳,需要使用多种方法来获取用户移动的位置,并且还希望能够达到省电的目的,因此获取用户位置是复杂的。要克服获取良好用户位置的障碍,同时保护电池的消耗,你就必须定义一个一致的模型来指定应用程序如何获取用户位置。这个模型包含了启动和停止监听更新的时机和使用被缓存的位置数据的时机。

获取用户位置的流程

以下是典型的获取用户位置的过程流程:

1.  启动应用程序;

2.  稍后,启动对期望的位置提供器的更新的监听;

3.  通过筛选新的位置,来维持一个当前最优的位置评估;

4.  停止对位置更新的监听;

5.  利用最后评估的最佳位置。

1用一个可视的时间轴,演示了应用程序中所监听的位置更新,以及这些事件所发生的时机:

1.代表应用程序中用于监听位置更新的窗口的时间轴。

这个窗口模型---在接收位置更新期间,你需要决定把基于位置的服务添加到你的应用程序中的时机。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值