我下面的代码有问题。我的手机没有GPS/WIFI/3G。我想从network_provider中找到用户位置,但由于某些原因,它在手机上给出了0.0和0.0的经度和纬度。请帮忙。我的代码如下:无法通过Android中的Network_Provider获取位置数据!
LocationManager mlocManager =(LocationManager)getSystemService(Context.LOCATION_SERVICE);
LocationListener mlocListener = new MyLocationListener();
mlocManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0, mlocListener);
TextView txt=(TextView)findViewById(R.id.coordinate);
txt.setText(latid+","+longid+","+accu+"m "+provider);
和requestLocationUpdates如下:
public class MyLocationListener implements LocationListener
{
@Override
public void onLocationChanged (Location loc)
{
latid=loc.getLatitude();
longid=loc.getLongitude();
accu=loc.getAccuracy();
TextView txt=(TextView)findViewById(R.id.coordinate);
txt.setText(latid+","+longid+","+accu+"m");
Toast.makeText (getApplicationContext(),"Entered function",Toast.LENGTH_SHORT).show();
}
@Override
public void onProviderDisabled (String provider)
{
Toast.makeText (getApplicationContext(),"Gps Disabled",Toast.LENGTH_SHORT).show();
}
@Override
public void onProviderEnabled (String provider)
{
Toast.makeText (getApplicationContext(),"Gps Enabled",Toast.LENGTH_SHORT) .show();
}
@Override
public void onStatusChanged (String provider, int status, Bundle extras)
{
;
}
}/* End of Class MyLocationListener */
我想知道我为什么让所有的输出为纬度和长0.0和0.0。 我还注意到另外一件事,如果我连接到家庭无线网络,那么这可以解决我的经纬度问题。我想知道为什么没有WIFI/3G/GPS无法修复! 任何帮助将不胜感激。