设置部分:
/**
* 设置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>