нужно перед запуском активити узнать локацию и исходя от нее подгружать контент
мой код не работает правильно, потому что флаг location не работает
Boolean locationFlag = false; //переменная которая должна стать true от локации
//пишу все в onCreate, пробовал в onResume менять флаг, не работает
mFusedLocationProviderClient = LocationServices.getFusedLocationProviderClient(this);
if (ContextCompat.checkSelfPermission(this, android.Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(this, new String[]{android.Manifest.permission.ACCESS_COARSE_LOCATION},
MY_PERMISSION_ACCESS_COURSE_LOCATION);
}
mFusedLocationProviderClient.getLastLocation().addOnSuccessListener(this, new OnSuccessListener<Location>(){
@Override
public void onSuccess(Location location) {
if (location != null) {
Geocoder gcd = new Geocoder(getApplicationContext(), Locale.getDefault());
try {
List<Address> addresses = gcd.getFromLocation(location.getLatitude(), location.getLongitude(), 1);
if (addresses.size() > 0) {
String locationCountry = addresses.get(0).getCountryCode().toLowerCase();
Log.d("TAG", "AAAAA"+LINK);
if("ua".equals(locationCountry) || "ru".equals(locationCountry)){
locationFlag = true;
LINK += locationCountry;
Log.d("TAG", "BBBB "+LINK);
}
}
} catch (IOException e) {
e.printStackTrace();
}
}}
});
setContentView(R.layout.activity_start);
webView = findViewById(R.id.webView);
webView.setWebViewClient(new MyWebViewClient());
if(locationFlag){
webView.getSettings().setJavaScriptEnabled(true);
new MyWebViewClient().shouldOverrideUrlLoading(webView, LINK);
Log.d("TAG", "after loading "+LINK);
}else{
Intent intent = new Intent();
intent.setClass(this, MainActivity.class);
startActivity(intent);
}
}