我正在尝试获取用户的最后一个已知位置,我正在使用 getLastKnownLocation 方法,因为我只想读取一次位置,我在模拟器中测试应用程序而不是真正的手机,但位置为空,我的代码
locMgr = (LocationManager) getSystemService(LOCATION_SERVICE);
Location myLoc = locMgr.getLastKnownLocation(LocationManager.GPS_PROVIDER);
if(myLoc != null)
{}
else
{
Toast.makeText(getApplicationContext(), "coudn't get your location", Toast.LENGTH_LONG).show();
}
问题是我不知道何时将位置(从 DDMS)发送到模拟器(我尝试在打开应用程序之前和之后发送它,有时它可以工作)
我可以通过 imlemting LocationListener 获取位置并执行以下操作:
mLocMgr = (LocationManager) getSystemService(LOCATION_SERVICE);
mLocMgr.requestLocationUpdates(LocationManager.GPS_PROVIDER, 5000, 3, this);
并覆盖工作正常的 onLocationChanged() 方法,但每次位置更改时它都会告诉我,我只需要读取一次位置。那么如何一次获取用户的当前位置呢?