【发布时间】:2011-03-16 08:57:46
【问题描述】:
我在我的应用程序中使用位置侦听器。 我有这样的代码:
public void startlistning()
{
locationListener = new LocationListener() {
@Override
public void onStatusChanged(String provider, int status, Bundle extras) {
// TODO Auto-generated method stub
}
@Override
public void onProviderEnabled(String provider) {
// TODO Auto-generated method stub
Toast.makeText( getApplicationContext(),"Gps Enabled", Toast.LENGTH_SHORT).show();
}
@Override
public void onProviderDisabled(String provider) {
// TODO Auto-generated method stub
Toast.makeText( getApplicationContext(),"Gps Disabled", Toast.LENGTH_SHORT ).show();
}
@Override
public void onLocationChanged(Location location) {
// TODO Auto-generated method stub
location.getLatitude();
location.getLongitude();
}
};
lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, locationListener);
但不知道为什么当我第一次重新启动设备时(没有可用的蜂窝数据(没有 SIM 卡)),方法 onLocationChanged 没有调用。但是,我在我的应用程序中使用了最佳提供商。 请调查此事。谢谢
【问题讨论】:
-
您可能想提供一些有关如何调用此方法的详细信息。
-
我只是在活动开始时调用 startlistning() 方法。为了调用 getLastKnownLocation() ,我创建了一个单独的类 MyLocationListner ,然后在评论中调用 getLastKnownLocation() 如下。请帮忙。谢谢