http://blog.csdn.net/yuanbohx/article/details/8003331
设置部分:
- /**
- * 设置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>