在短信接收时更改地图位置

时间:2012-12-11 19:53:16

标签: android

我是Android的新手。 requestLocationUpdates使用GPS提供商工作正常,但我想在收到新消息时更新位置。我为SMS接收器创建了类,它工作正常。我现在可以检测具体的号码和新位置,只是我希望定位经理接收短信。

manager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0,  listener);

2 个答案:

答案 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