Вы хотите прекратить запрашивать обновления местоположения. Это можно сделать, вызвав removeLocationUpdates на вашем клиенте местоположения.
Например:
alertButton.setOnClickListener(view -> {
//Do some stuff.
if (mLocationClient != null){
mLocationClient.removeLocationUpdates(mLocationCallback)}
});
Здесь mLocationClient - это ваш FusedLocationProviderClient, а mLocationCallback - ваш LocationCallback (в нем будет использоваться метод onLocationChanged). Так как вы проверяете их местоположение в методе onLocationChanged, больше не будет обновлений местоположения, поэтому предупреждение не будет создано. Вы также можете вызвать removeLocationUpdates в вашем checkloc методе, если они находятся в правильном месте.
Здесь - это ссылка на документацию для FusedLocationProviderClient, содержащую дополнительную информацию.
Примечание: вы можете посмотреть геозона . Он делает нечто похожее на то, что вы хотите сделать.