我是安卓新手。requestLocationUpdates
使用 GPS 提供商工作正常,但我想在收到新消息时更新位置。我已经为 SMS 接收器创建了类,它工作正常。我现在可以检测特定号码和新位置,只是我想在接收短信时使用位置管理器。
manager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, listener);
我是安卓新手。requestLocationUpdates
使用 GPS 提供商工作正常,但我想在收到新消息时更新位置。我已经为 SMS 接收器创建了类,它工作正常。我现在可以检测特定号码和新位置,只是我想在接收短信时使用位置管理器。
manager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, listener);
我的建议是在您收到短信时使用最新的已知位置:
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);
如果您不停止位置更新,android 将继续位置更新并从您的 GPS_PROVIDER(又名 gps 经度和纬度)设置位置。
您需要的是构造一个位置对象并使用它。这是一个类似于一个位置更新返回的对象...
Location smsLocation = new Location(LocationManager.GPS_PROVIDER);
smsLocation.setLatitude(latitude); //latitude=12.3456789
smsLocation.setLongitude(longitude); //longitude=98.7654321