ays*_*tl_ 1 gps android locationmanager android-location
我尝试在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;
}
Run Code Online (Sandbox Code Playgroud)
即使wifi和移动连接被禁用,它也表示networkProvider已启用并输入第二个if语句.但它应该是假的.我该如何解决?
小智 6
您可能在下拉选项中禁用主菜单的Wi-Fi连接,而不是禁用"设置 - 位置服务"下的"使用无线网络".
请记住,Wi-Fi!=使用无线网络.
当你使用
locationManager.isProviderEnabled(LocationManager.NETWORK_PROVIDER)
Run Code Online (Sandbox Code Playgroud)
它正在削弱"用户无线网络"选项.
我有同样的问题,在StackOverflow上发布了许多类似的问题,只有一个答案有这个信息.花了我整整一个下午.希望你明白了!:)
| 归档时间: |
|
| 查看次数: |
1219 次 |
| 最近记录: |