扫码关注官方订阅号
拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...
GPS权限加了没?还是你开启应用的时候是在室内,在室内GPS是获取不到位置信息的。而且LocationManager.NETWORK_PROVIDER默认是谷歌地图,国内用不了。
国内用不了的,你用高德地图吧
6.0需要在代码中主动申请权限,不仅仅是manifest 声明
权限问题,要用运行时权限
6.0需要主动去获取运行时权限 可以看看我之前写的博客
我按照《第一行代码》书中的附赠源码,在自己手机上运行(Android6.0),首先得打开手机的GPS服务,然后运行时,通知栏会显示正在搜索GPS,需要等一会,然后可以出来结果;
书中的附录源码有的没有在AndroidManifest声明权限,本例中是 <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
最近也在学,试了一下午,解决了这个问题:
先到工程的Gradle下面把minSdkVersion 23 都改成23的。 targetSdkVersion 23
targetSdkVersion 23
provider的类型设置为 LocationManager.NETWORK_PROVIDER。
解释:1.因为6.0以上的动态权限设置,在目标版本低于6.0而手机又是6.0时会出现这个问题,把版本对应就好。2。室内的GPS信号很差,会很久。最好设定为网络的就很快得到位置信息。
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
GPS权限加了没?还是你开启应用的时候是在室内,在室内GPS是获取不到位置信息的。而且LocationManager.NETWORK_PROVIDER默认是谷歌地图,国内用不了。
国内用不了的,你用高德地图吧
6.0需要在代码中主动申请权限,不仅仅是manifest 声明
权限问题,要用运行时权限
6.0需要主动去获取运行时权限
可以看看我之前写的博客
我按照《第一行代码》书中的附赠源码,在自己手机上运行(Android6.0),首先得打开手机的GPS服务,然后运行时,通知栏会显示正在搜索GPS,需要等一会,然后可以出来结果;
书中的附录源码有的没有在AndroidManifest声明权限,本例中是
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
最近也在学,试了一下午,解决了这个问题:
先到工程的Gradle下面把minSdkVersion 23 都改成23的。
targetSdkVersion 23provider的类型设置为 LocationManager.NETWORK_PROVIDER。
解释:
1.因为6.0以上的动态权限设置,在目标版本低于6.0而手机又是6.0时会出现这个问题,把版本对应就好。
2。室内的GPS信号很差,会很久。最好设定为网络的就很快得到位置信息。