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秒开!!!惊喜不惊喜,刺激不刺激?????!!!!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值