2012-12-11 68 views
1

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

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

回答

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); 
+0

我不明白你能解释一下多一点。我从12.3456789,98.7654321等短信中获得新的价值。但如何调用locationUpdate来显示具体的值。 – Nomi

0

如果不停止位置更新,Android将继续位置更新和设置的位置您的GPS_PROVIDER(又名gps经度和纬度)。

你需要的是构造一个位置对象并使用它。这是一个对象类似的一个位置更新返回...

Location smsLocation = new Location(LocationManager.GPS_PROVIDER); 
smsLocation.setLatitude(latitude); //latitude=12.3456789 
smsLocation.setLongitude(longitude); //longitude=98.7654321