在一个 android 应用程序中,我编写了代码来通过 GPS 或网络获取地理数据,其中一个可以通过它获取数据。这是我的代码,
public boolean getLocation(Context context, LocationResult result)
{
boolean gps_enabled=false;
LocationManager lm;
boolean network_enabled=false;
this.context = context;
locationResult=result;
Toast.makeText( context,"getLocation()",Toast.LENGTH_SHORT).show();
if(lm == null)
lm = (LocationManager) context.getSystemService(Context.LOCATION_SERVICE);
try
{
gps_enabled=lm.isProviderEnabled(LocationManager.GPS_PROVIDER);
}
catch(Exception ex){}
try
{
network_enabled=lm.isProviderEnabled(LocationManager.NETWORK_PROVIDER);
}
catch(Exception ex){}
if(!gps_enabled && !network_enabled)
{
Toast.makeText(context, "GPS & Network disabled", Toast.LENGTH_SHORT).show();
return false;
}
}
使用LocationManager
检查 GPS 和网络是否打开。
如果 GPS 处于开启状态,则在布尔值 gps_enabled 中分配“真”。
但是在网络上,我已经在 HTC 渴望的安卓设备中激活了 2G 上网,并在移动网络中打开了。
network_enabled
即使网络处于 On 状态,分配给“false”的布尔变量。
我们是否要更改设备中的设置?或我的代码中有任何错误?