NeToster
@NeToster

Как узнать локацию из настроек профиля?

нужно перед запуском активити узнать локацию и исходя от нее подгружать контент
мой код не работает правильно, потому что флаг 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);
        }
    }
  • Вопрос задан
  • 53 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы