Android-приложение не запрашивает разрешения при установке

Я работаю в ИТ-отделе моего университета, и мы работаем над приложением, которое устанавливает правильную настройку для Eduroam WiFi (возможно, вы слышали об этом).

однако у меня есть проблема с запуском его на моем собственном LG G4 с Android 6.0. При установке скомпилированного *.apk он не запрашивает никаких разрешений, хотя они установлены в AndroidManifest.XML. Он работает на всех предыдущих версиях Android.

теперь обязательно запрашивать разрешения во время выполнения?

2 ответов


Если ваша целевая версия SDK-23, вам нужно запросить" опасные " разрешения во время выполнения.

Если это так, то вы должны быть в состоянии видеть, что никаких разрешений, если вы идете к Settings > Apps > "Your app" > Permissions.

Если вы еще не хотите внедрять новую систему, вы можете уменьшить целевую версию sdk до 22, чтобы получить старую систему разрешений. Однако вы все равно можете скомпилировать sdk версии 23.

посмотреть документация для подробная информация.


Если вы хотите получить разрешение во время выполнения, вы должны написать специальный запрос в своем приложении. Что-то вроде этого:--2-->

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
        createPermissions();
}
public void createPermissions(){
    String permission = Manifest.permission.READ_SMS;
    if (ContextCompat.checkSelfPermission(getContext(), permission) != PackageManager.PERMISSION_GRANTED){    
        if(!ActivityCompat.shouldShowRequestPermissionRationale(getActivity(), permission)){
              requestPermissions(new String[]{permission}),
                        SMS_PERMISSION);
        }
    }
}