Как задать разрешение в Android 5.1.1 и меньше

180
25 сентября 2018, 07:20
            int permission1 = PermissionChecker.checkSelfPermission(getApplicationContext(), android.Manifest.permission.ACCESS_COARSE_LOCATION);
            int permission2 = PermissionChecker.checkSelfPermission(getApplicationContext(), android.Manifest.permission.ACCESS_FINE_LOCATION);
            int ddd = PackageManager.PERMISSION_GRANTED;
            if (ContextCompat.checkSelfPermission(getBaseContext(), android.Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
                if (ActivityCompat.shouldShowRequestPermissionRationale(SignInActivity.this, android.Manifest.permission.ACCESS_COARSE_LOCATION)) {
                    /* do nothing*/
                } else {
                    ActivityCompat.requestPermissions(SignInActivity.this, new String[]{android.Manifest.permission.ACCESS_COARSE_LOCATION, android.Manifest.permission.ACCESS_FINE_LOCATION}, GET_MY_PERMISSION);
                }
            } else if ((permission1 == PackageManager.PERMISSION_GRANTED)
                    || permission2 == PackageManager.PERMISSION_GRANTED) {
                // permission not granted, you decide what to do
                Toast.makeText(this, getResources().getString(R.string.on_location), Toast.LENGTH_SHORT).show();
                Intent myIntent = new Intent(Settings.ACTION_SETTINGS);
                startActivity(myIntent);
            } else {
                frame = findViewById(R.id.maps_frame_content);
                frame.setVisibility(View.VISIBLE);
                Fragment mFragment = new ShowMeOnMap(true, frame);
                FragmentManager mFragmentManager = getSupportFragmentManager();
                mFragmentManager.beginTransaction().replace(R.id.maps_frame_content, mFragment).commit();
            }

Использую данный код чтобы спрашивал разрешение на телефонах.

Первый if для Runtime permission второй для девайсов на android 5.1 и меньше.

Проблема в том что не могу правильно определить на android 5.1.1 и меньше включена ли геолокация или нет

Answer 1

До андроид 6 разрешения указываются в манифесте, укажите нужные разрешения в манифесте, а в классе сделайте условие, если андроид пользователя 6 или выше, чтобы запрашивало разрешения @McDaggen

READ ALSO
VPN клиент Андроид Java

VPN клиент Андроид Java

У меня есть небольшой опыт в разработки приложений но с такой штукой как тунелирование я еще не встречалсяИ встала такая задача

275
Заполнение JList объектами из потока

Заполнение JList объектами из потока

Есть поток в котором формируются объекты, нужно эти объекты записывать в JListчто-то я туплю сутки с этим моментом функция ConnectAndReadLine() формирует...

170
Android. gif-ka не анимируется после вызова метода startAnimation();

Android. gif-ka не анимируется после вызова метода startAnimation();

Необходимо вывести список анимированных гифокДля работы со списком использую адаптер

171
Увеличение переменной до определённого момента, а после - снижение

Увеличение переменной до определённого момента, а после - снижение

Есть слушатель кнопок, при нажатии на одну из кнопок значение переменной x должно увеличиваться до определённого значения (60), а после снижаться...

186