我正在尝试获取用户的最后一个已知位置,我正在使用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()方法,该方法工作正常,但它会告诉我每次位置更改,我只需要读取一次位置。 那么如何获取用户的当前位置?
答案 0 :(得分:0)
为什么不在创建位置后创建可以回调的服务或线程?这样你就可以经常检查。