我是Android的新手。 requestLocationUpdates
使用GPS提供商工作正常,但我想在收到新消息时更新位置。我为SMS接收器创建了类,它工作正常。我现在可以检测具体的号码和新位置,只是我希望定位经理接收短信。
manager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, listener);
答案 0 :(得分:0)
我的建议是在收到短信时使用最新的已知位置:
LocationManager lm = (LocationManager)act.getSystemService(Context.LOCATION_SERVICE);
Criteria crit = new Criteria();
crit.setAccuracy(Criteria.ACCURACY_FINE);
String provider = lm.getBestProvider(crit, true);
Location loc = lm.getLastKnownLocation(provider);
答案 1 :(得分:0)
如果您没有停止位置更新,Android会继续进行位置更新并设置GPS_PROVIDER(即gps经度和纬度)的位置。
您需要的是构建一个位置对象并使用它。这是一个类似于一个位置更新返回的对象...
Location smsLocation = new Location(LocationManager.GPS_PROVIDER);
smsLocation.setLatitude(latitude); //latitude=12.3456789
smsLocation.setLongitude(longitude); //longitude=98.7654321