Исключение безопасности только на Android 6

java.lang.SecurityException: Client must have ACCESS_COARSE_LOCATION or ACCESS_FINE_LOCATION permission to perform any location operations. 

Приложение отлично работает для Android версии 5 (Lollipop), но получает исключение безопасности на Android версии 6.

Solutions Collecting From Web of "Исключение безопасности только на Android 6"

О вашей деятельности:

 private static final int REQUEST_FINE_LOCATION=0 ... loadPermissions(Manifest.permission.ACCESS_FINE_LOCATION,REQUEST_FINE_LOCATION); 

Реализация:

 private void loadPermissions(String perm,int requestCode) { if (ContextCompat.checkSelfPermission(this, perm) != PackageManager.PERMISSION_GRANTED) { if (!ActivityCompat.shouldShowRequestPermissionRationale(this, perm)) { ActivityCompat.requestPermissions(this, new String[]{perm},requestCode); } } } @Override public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) { switch (requestCode) { case REQUEST_FINE_LOCATION: { // If request is cancelled, the result arrays are empty. if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) { // granted } else{ // no granted } return; } } } 

Это связано с тем, что эти разрешения являются опасными разрешениями в соответствии с новой моделью разрешения android 6.0.

Необходимо разрешить опасные разрешения во время выполнения и проверять каждый раз перед использованием.

Вам придется изменить свою реализацию, чтобы адаптировать новую модель разрешения .