文章目录
各位看官们大家好,上一回中咱们说的例子是"如何有效地获取位置权限",这一回中咱们说的例子是" 获取位置信息经验总结"。闲话休提,言归正转, 让我们一起Talk Android吧!
整体概述
我们在前面章回中介绍了如何获取位置信息以及位置权限,掌握这些知识后就可以在项目中使用位置信息了,不过在实际项目中肯定不会单独地使用位置信息这个知识点,它还会和其它的知识综合使用,因此还有一些知识需要和大家介绍,本章回中将总结我在实际项目中综合使用位置信息时经验。
位置权限与蓝牙权限综合使用
我在项目中使用蓝牙比较多,使用蓝牙时不但需要申请蓝牙权限,而且还需要申请位置权限,蓝牙权限在manifest文件中静态配置就可以,位置权限则必须动态申请。不过在Android12以及之后的版本中,不需要申请位置权限了,只需要单独申请BLUETOOTH_SCAN权限就可以,注意:该权限需要动态申请。
蓝牙终于有自己单独的权限了,不过为了兼容老版本,还需要申请位置权限。同时还需要处理位置服务开关和蓝牙开关。下面是我对位置权限和蓝牙综合使用总结出的经验:
- 在Android12之前先静态配置蓝牙权限,然后再去动态申请位置权限,这个参考上一章回中关于位置权限的内容就可以;
- 蓝牙权限和位置权限申请完成后先打开位置开关先打开位置开关,再打开蓝牙开关;
- 在Android12以及后续版本中先静态配置蓝牙权限,然后再去动态申请BLUETOOTH_SCAN权限;
- 蓝牙权限申请完成后只需要打开蓝牙开关就可以
本文总结了在Android项目中获取位置信息和蓝牙权限的实际经验。在Android12之前,需要动态申请位置权限,先打开位置开关再开启蓝牙。对于华为手机的特殊问题,通过重写位置监听器接口避免FATA异常。官方建议使用Google Play服务的Location API和ContextAPI以获取最佳性能和电池优化。
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



