Android设置GPS及获取经纬度坐标
16lz
2021-01-24
设置部分:
/** * 设置GPS开启或关闭,入口参数为true时开启GPS,为false时关闭GPS * */public void setGPS(boolean on_off) { boolean gpsEnabled = android.provider.Settings.Secure.isLocationProviderEnabled( getContentResolver(), LocationManager.GPS_PROVIDER); Intent gpsIntent = new Intent(); gpsIntent.setClassName("com.android.settings", "com.android.settings.widget.SettingsAppWidgetProvider"); gpsIntent.addCategory("android.intent.category.ALTERNATIVE"); if(on_off == true) { if(!gpsEnabled) { gpsIntent.setData(Uri.parse("custom:3")); try { PendingIntent.getBroadcast(this, 0, gpsIntent, 0).send(); } catch (CanceledException e) { e.printStackTrace(); } } } else { if(gpsEnabled) { gpsIntent.setData(Uri.parse("custom:3")); try { PendingIntent.getBroadcast(this, 0, gpsIntent, 0).send(); } catch (CanceledException e) { e.printStackTrace(); } } } }
以上代码需要添加如下权限:
<uses-permission android:name="android.permission.WRITE_SETTINGS" ></uses-permission>
<uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS"/>
获取部分:
/** * 获得经纬度函数 * */public void getLongitudeAndLatitude() {setGPS(true);LocationManager loctionManager;String contextService=Context.LOCATION_SERVICE;//通过系统服务,取得LocationManager对象loctionManager=(LocationManager) getSystemService(contextService);String provider=LocationManager.GPS_PROVIDER;Location location = loctionManager.getLastKnownLocation(provider);if(location != null) {longitude = location.getLongitude(); latitude = location.getLatitude();Toast.makeText(getApplicationContext(), String.valueOf(longitude)+ "," + String.valueOf(latitude),Toast.LENGTH_LONG).show();}}以上代码需要添加如下权限:
< uses-permission android:name="android.permission.ACCESS_FINE_LOCATION">< /uses-permission>
更多相关文章
- Android(安卓)OpenGL ES(五):GLSurfaceView
- [Android]Fragment生命周期
- android权限管理之PermissionsDispatcher使用
- android 颜色值 代码
- Android系统Home应用程序(Launcher)的启动过程源代码分析
- Android(安卓)自定义ScrollView 实现拉下伸缩头部view
- android单元测试----junit
- android之HttpPost&HttpGet使用方法介绍
- Android(安卓)- 销毁指定Activity