Android 最新原生定位折腾总结科普
大家好我又来了。ps:小伙伴的媳妇要生孩子了,所以之前的网站出现了问题,暂时在本平台发文。
本人是记录昨天尝试Android原生定位遇到的问题,因为如果出现错误,欢迎各位大佬来喷。
按照之前的开发,定位服务可以采用百度腾讯高德甚至是滴滴等第三方的服务,但是处于我们的业务考虑和约束,首选原生的定位。
还是要啰嗦一下,定位有GPS,AGPS ,wifi,和基站这几大种定位方式,优缺点就不做过度介绍了
。
首先是Gps定位,动态获取权限的话其实只需要:ACCESS_FINE_LOCATION这个权限就够了,但是如果用户在室内的话,讲真我在室内就没定位成功过。
后来我想这样可不行,就算GPS定位不到我可以通过网络定位呀(PS,公司网络直接就是翻墙的,不用担心国内网络影响)。
紧接着我就按照资料上的方式开始走网络定位,关闭了GPS,同时开启了ACCESS_FINE_LOCATION和ACCESS_COARSE_LOCATION权限,其中ACCESS_COARSE_LOCATION权限就是针对wifi和基站的定位权限,然后我就一脸蒙圈了,为什么!!!为什么!!凭什么我定位不到!!!
不要慌,问题不大,容我仔细看看咋回事,大家猜猜我发现了什么????
在关闭了GPS后,此时没有network的支持了,刺激不刺激!!!!!如果我打开GPS,此时list中包含的就有gps和network,说明此时这两个都是可用的。
所以这个:
网络节点其实是针对AGPS的节点,它是要依赖GPS才能实现的定位,也就是说AGPS是GPS和网络定位捆绑在一起的,此时的network访问的是AGPS的信号基站,网络节点并不可用!!!!!!!!!
所以想要单独获取网络定位咋办呢????当然传说可以使用谷歌的service sdk实现网络定位,但是滴滴也好,高德也好,万变不离其宗的是,都需要咱们主动的去请求后台基站数据库,根据ip定位后再把结果返回给客户端。
大家要是有兴趣可以尝试下。
预告:
接下来会出一系列针对Hybird混合开发的文章,针对WebView加载H5时候的各种需求各种兼容(我的1505行webView代码),例如:动态注入Js的三种方式,webView向前和向后加载不同的Js,怎么解决Java和Js在安卓4.几手机上的兼容崩溃和安全漏洞问题,调用支付,调用本地照片等需求,如何管理webView的栈,实现不同的栈走不同的逻辑,防止DNS污染!!!!最迅猛开发移动端H5页面的注意点和同时兼容iOS和Android!!!!!!!!
放大招了!!!!单独进程加载WebView页面,实现H5秒开!!!惊喜不惊喜,刺激不刺激?????!!!!!!
Android 最新原生定位折腾总结科普相关推荐
- 功耗大?定位精度差?如何优化Android原生定位
近期华为开发者论坛收到一位小伙伴提问: 我的应用app需要调用GPS的位置服务,已经将应用所需要的所有权限全部打开,而且使用了wifi和4G网络,手机的耗电管理和联网管理等设置也全部为app开放,但使 ...
- Android原生定位实现方式
Android原生定位实现方式 1.Appium+MuMu模拟器实现 2.uiautomatorviewer.bat+MuMu模拟器实现 3.weditor+MuMu模拟器实现 4.weditor+真 ...
- Android中获取定位经纬度信息
场景 根据GPS获取经纬度效果 注: 博客: https://blog.csdn.net/badao_liumang_qizhi 关注公众号 霸道的程序猿 获取编程相关电子书.教程推送与免费下载. 实 ...
- Android 调用原生API获取地理位置和经纬度,判断所在国家
public static boolean isCN(Context context) {TelephonyManager tm = (TelephonyManager) context.getSys ...
- 自动化无法定位的原因_Appium Android 自动化测试 -- 元素定位
自动化测试元素定位是难点之一,编写脚本时会经常卡在元素定位这里,有时一个元素能捣鼓一天,到最后还是定位不到. Appium 定位方式和 selenium 一脉相承,selenium 中的定位方式App ...
- h5/web 原生定位、高德、腾讯地图定位
在项目添加新功能时,使用cdn方式引入使用地图功能,使用功能只用到了地图的定位.点标记.详细地址查询.poi搜索和输入提示.计算两点之间的距离:因为在寻找高德地图问题时发现h5 和 web 端的好少, ...
- vue与安卓原生定位的交互
网页定位的不足 我之前写了篇vue调用百度地图 js api实现定位的文章, vue 实现定位到当前位置 但是实际使用的时候,发现百度定位js经常定位不精确,这个不足,官网也有提, 为了精确,还是使用 ...
- 诺基亚6 android one,诺基亚安卓手机采用的是Android One原生系统:更纯净,更新快...
1月28日消息 在为安卓手机提供系统更新这一点上,诺基亚的动作是比较快的.如今诺基亚安卓手机已有多款升级到了最新的安卓9 Pie系统,对此HMD CPO Juho Sarvikas在接受Android ...
- XamarinSQLite教程在Xamarin.Android项目中定位数据库文件
XamarinSQLite教程在Xamarin.Android项目中定位数据库文件 实际开发中,经常需要验证数据库操作的正确性.这个时候,需要打开数据库文件,进行确认.下面是如何找到MyDocumen ...
- Android开发--用户定位服务--UserLocation
用户定位介绍: User Location的作用: 1.获取用户的位置 2.追踪用户的移动 User Location的关键API 1.Location Manager:用于管理Android的用户定 ...
最新文章
- 一文吃透JAVA定时器格式
- php 全局搜索方法,php启用sphinx全文搜索的方法
- Linux下利用rsync实现多服务器文件同步
- android 4个布局,Android - 4种基本布局
- 写出好代码系列 工程思维
- nginx的反向代理和负载均衡的区别
- Erlang --- gen_server
- 50个常用的sql语句
- [Linux/Unix]常用命令
- calabash android教程,Calabash Android 使用教程 (二)
- CMU 15-213 Introduction to Computer Systems学习笔记(6) Machine-Level Programming-Procedures
- 机器学习和深度学习资料列表
- vue 导出excel文件
- 在Word中为三位数字设置带圈字符(转)
- vlan和静态路由配置实验
- Linux下opendir、readdir使用小结
- 计算机网络七层结构与功能,网络七层结构介绍
- python实现商品进销存管理系统
- WKWebView加载txt文档乱码
- JetPack之Room,Room基本使用
热门文章
- AI公开课丨钱铁云:面向复杂和低资源环境的方面级情感分析
- HTML5移动开发即学即用(双色)
- Django项目实践1 - 创建Django项目
- e4a生成r.java错误,编译时候出现英文错误
- java分布式集群框架_Cacheonix——Java的分布式集群缓存框架
- vue中 点击二维码刷新图片(src不变)
- 1010 一元多项式求导 (25 分)—PAT (Basic Level) Practice (中文)
- ubuntu18.04设置开机自启动的脚本
- git如何撤销已经push到远程仓库的代码提交
- jQuery~函数封装记1