跳转到系统开启GPS
<h3>进行相关设置 进行相关设置</h3>
<hr />
<p>设备可能没有开启GPS,获取关闭了所有的地理信息获取方法,如果检查到没有开启地理服务,弹出系统设置给用户,由用户进行设置,在设置结束后,再次进行位置获取。相关代码如下:</p>
<hr />
<pre><code class="language-java"> private LocationManager manager = null;
private void getMyLocation2(){
if(manager == null)
manager = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
boolean isGpsAvalible = manager.isProviderEnabled(LocationManager.GPS_PROVIDER);
if(!isGpsAvalible){ //打开location设置的activity
startActivityForResult(new Intent(android.provider.Settings.ACTION_LOCATION_SOURCE_SETTINGS), 0);
}else{
getFromGps();
}
}
@Override //当用户设置后按返回键,触发onActivityResult
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
getFromGps();
}
private void getFromGps(){
//用户不一定会在系统设置中开启,故需要再次检测!
boolean isGpsAvalible = manager.isProviderEnabled(LocationManager.GPS_PROVIDER);
if(isGpsAvalible){
Location location = manager.getLastKnownLocation(LocationManager.GPS_PROVIDER);
showLocation(location);
}
}</code></pre>