Android中GPS和网络权限
来源:互联网 发布:java socket 发送数据 编辑:程序博客网 时间:2024/05/16 04:55
这两天项目中需要用到数据和GPS定位,判断如果没有网络就用GPS,有网络就用数据定位。但是locationManager.getLastKnownLocation这句话一写就会报红。纠结很久,最后老员工说在他的机子上就没有问题,我意识到有可能是版本问题。在gradle中把targetSdkVersion 改成22就可以了。所以以后用GPS权限用这几步就好了。
- 在AndroidManifest.xml文件中加入如下权限:
<!-- 连接互联网Internet权限 --> <uses-permission android:name="android.permission.INTERNET" /> <!-- GPS定位权限 --> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
- 是否连接网络
ConnectivityManager manager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);//去进行判断网络是否连接if (manager.getActiveNetworkInfo() != null) { flag = manager.getActiveNetworkInfo().isAvailable();}
- 检测网络定位还是GPS定位
if (!flag) { isGPS = locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER); if (isGPS == true) { locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 1000, 0, locationListener); Location location = locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER); processLocationUpdated(location); Intent intent=new Intent(AlarmAct.this, MainActivity.class); AlarmAct.this.finish(); startActivity(intent); } else { Toast.makeText(AlarmAct.this, "请打开GPS!", Toast.LENGTH_LONG).show(); } } else { locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 1000, 0, locationListener); Location location = locationManager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER); processLocationUpdated(location); Intent intent=new Intent(AlarmAct.this, MainActivity.class); AlarmAct.this.finish(); startActivity(intent);}
现在用的新版本,有可能会出现差错,为了正常运行测试,你最好修改代码支持最新的权限系统,而且我觉得项目开始就要注意。代码没有成功 改为支持最新运行时权限的app,不要设置targetSdkVersion 23 发布,否则你就有麻烦了。只有当你测试过了,再改为targetSdkVersion 23 。
警告:现在你在android studio新建项目,targetSdkVersion 会自动设置为 23。如果你还没支持新运行时权限,我建议你首先把targetSdkVersion 降级到22。
这是我的第一篇博文,请大家多多鼓励,谢谢。
1 0
- Android中GPS和网络权限
- android中基于网络和GPS的不同精度定位
- Android在代码中打开Wifi、移动网络和GPS
- Android在代码中打开Wifi、移动网络和GPS
- Android在代码中打开Wifi、移动网络和GPS
- Android在代码中打开Wifi、移动网络和GPS
- Android在代码中打开Wifi、移动网络和GPS
- Android在代码中打开Wifi、移动网络和GPS
- Android在代码中打开Wifi、移动网络和GPS
- Android 获取GPS和网络定位信息
- Android Gps定位和网络定位
- Android -开启GPS权限
- Android之检测GPS服务和定位权限是否开启
- Android-GPS,网络定位
- android 7.1 gps权限问题
- Android中使用代码开关GPS、移动网络(GPRS)、WiFi
- Android中使用代码开关GPS、移动网络(GPRS)、WiFi
- android ntp和GPS获取网络时间问题
- CorelDRAW怎么等分分割图片
- 函数梯度的检查
- 【Android】YUV使用总结 —— Android常用的几种格式:NV21/NV12/YV12/YUV420P的区别
- 【DVB】【荷兰】淘汰模拟信号 荷兰数字电视普及度达90%
- ubuntu 安装 node.js
- Android中GPS和网络权限
- 装饰模式
- VS2010编译warning
- android 实现图片的三级缓存工具类
- Java字符串的10大热点问题盘点
- iOS表单上传附件及参数到服务器
- Android中访问sdcard路径的几种方式
- 部分和(不是原题的答案)
- 红黑树