我尝试在 Android 设备上获取用户的位置。程序检查 GPS 可用性。如果 GPSProvider 被禁用,它会警告用户。如果用户未启用 GPS,则程序检查 networkProvider。
检查网络提供商的代码,
public boolean askNetworkProvider(){
if(!locationManager.isProviderEnabled(LocationManager.NETWORK_PROVIDER)){
AlertDialog builder = new AlertDialog.Builder(context)
.setMessage("Enable Network Connection")
.setTitle("Warning!")
.setCancelable(true)
.setPositiveButton("OK", new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
return;
}
} ).show();
}
if(locationManager.isProviderEnabled(LocationManager.NETWORK_PROVIDER)){
locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 2000, 0, networkListener);
mlocation = locationManager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER);
Log.i(LocationService.class.getName(),"Network Enable!!");
return true;
}
return false;
}
即使 wifi 和移动连接被禁用,它表示 networkProvider 已启用并输入第二个 if 语句。但应该是假的。我该如何解决?