我正在制作一个 android 应用程序来显示用户在地图上的位置,以及用户当前的经度和纬度,我还使用反向地理编码来显示 android 设备的地址。现在我计划添加一个功能,如果用户靠近特定位置,手机会自动切换到静音模式,为此我制作了一个功能来检查手机是否已经静音。现在我想做另一个,在靠近特定位置时将手机置于静音模式。
我使手机在靠近特定位置时静音的方法是
public void changeToSilent(Location location){
if(distanceTo(xxxx)<100)
{
if(mPhoneIsSilent==true){
}
else
{
mPhoneIsSilent = true;
mAudioManager.setRingerMode(AudioManager.RINGER_MODE_SILENT);
}
}
}
现在我在另一个函数中调用此方法,即....
public void onLocationChanged(Location location) { Log.d(TAG, "onLocationChanged with location" + location.toString()); Stringtext=String.format("Lat:\t%f\nLong:\t%f\nAlt:\t%f\nBearing:\t%f",location.getLatitude(),location.getLongitude(), location. getAltitude(), location.getBearing()); this.locationText.setText(文本);
changeToSilent(location);
try {
List<Address> addresses = geocoder.getFromLocation(location.getLatitude(), location.getLongitude(), 10);
for (Address address : addresses) {
this.locationText.append("\n" + address.getAddressLine(0));
}
int latitude = (int)(location.getLatitude() * 1000000);
int longitude = (int)(location.getLongitude() * 1000000);
GeoPoint point = new GeoPoint(latitude,longitude);
mapController.animateTo(point);
} catch (IOException e) {
Log.e("LocateMe", "Could not get Geocoder data", e);
}
}
现在我在 oncreate 方法中调用上述函数。现在假设我知道手机应该静音的地方的纬度和经度。我想知道的是,在changetosilent方法中我必须写什么来代替xxxx?