Подтвердить что ты не робот

Кнопка ALLOW не работает после обновления

На устройствах, на которых установлено последнее обновление Android Marshmallow - June2016, при запросе разрешений кнопка ALLOW не работает.

Я тестировал эти два устройства:

Nexus 6p (версия Andoid - 6.0.1, номер сборки - MTC19V)

Nexus 7 (версия Android 6.0.1, номер сборки - MOB30M)

Оба имеют последнее обновление, и когда я запрашиваю разрешения, отображается диалог, но я не могу нажать кнопку ALLOW.

Вот код, который я использую для запроса разрешений:

public void showPermissionsDialog() {
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
        int hasWriteExternalStoragePermission = activity.checkSelfPermission(android.Manifest.permission.WRITE_EXTERNAL_STORAGE);
        int hasWriteGetAccountsPermission = activity.checkSelfPermission(android.Manifest.permission.GET_ACCOUNTS);

        if (hasWriteExternalStoragePermission != PackageManager.PERMISSION_GRANTED || hasWriteGetAccountsPermission != PackageManager.PERMISSION_GRANTED) {
            activity.requestPermissions(new String[]{android.Manifest.permission.WRITE_EXTERNAL_STORAGE, android.Manifest.permission.GET_ACCOUNTS}, MainActivity.REQUEST_CODE_ASK_PERMISSIONS);
        } else {
            isAllPermissionsGranted = true;
        }
    } else {
        isAllPermissionsGranted = true;
    }

}



    @Override
    public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
        if (requestCode == REQUEST_CODE_ASK_PERMISSIONS) {
            if (grantResults.length > 0) {
                boolean isAllPermissionsGranted = true;
                for (int i = 0; i < grantResults.length; i++) {
                    if (grantResults[i] != PackageManager.PERMISSION_GRANTED) {
                        isAllPermissionsGranted = false;
                    }
                }

                if (isAllPermissionsGranted) {
                    this.isAllPermissionsGranted = true;
                } else {
                    android.widget.Toast.makeText(this, "Please, grand permissions", android.widget.Toast.LENGTH_LONG).show();
                    showPermissionsDialog();
                }
            }
        }
    }

Любые предложения по устранению этого? Спасибо заранее!

ИЗМЕНИТЬ

Здесь - отчет об ошибках в Google. Мы все еще ждем исправления от Google.

РЕДАКТИРОВАТЬ 1

Эта проблема исправлена!

4b9b3361

Ответ 1

EDIT: он был отмечен как дефект в последнем андроиде, и он будет исправлен в будущей версии ОС. Отчет об ошибке

РЕДАКТИРОВАТЬ 2: диспетчер файлов напишите мне, что они исправляют эту функцию в своем приложении. Я больше не пробовал Диспетчер файлов, но если вы обновляете приложение, это больше не должно вызывать эту проблему. Но в основном это поведение может быть из любого приложения, делающего оверлей неправильно, пока андроид не исправит его.

Наконец-то я получил (по крайней мере, в моем случае)... его сервис f **** File Manager. Если его служба остановлена, разрешения снова работают.

https://play.google.com/store/apps/details?id=com.rhmsoft.fm

У меня было это приложение до обновления до "MOB30M" и разрешения на выполнение во время работы без проблем (это моя ежедневная работа по программированию этого), и я использовал диспетчер файлов для размещения APK версии в телефоне и запуска это установить APK. Так что не какое-то приложение, которое я установил сегодня.

То, что я финансирую, ужасно, - это то, что одно приложение может сбой всей системы разрешений.

Это и чрезмерно проблема

Я понимаю, что система разрешений не разбивается, поскольку приложение может быть использовано для фальсификации диалогов, но тогда Android (Google) не скажет вам, что у вас есть приложение, которое работает сверху, и если вы хотите чтобы предоставить разрешения для приложения, вы должны удалить приложение XXXX? Я имею в виду пользовательский опыт.

Обычный пользователь, подумает, что его телефон сломан и, вероятно, отправит телефон обратно в google или перевозчик xD

Давай, честно говоря, не могу андроид сделать это лучше? Не похоже, что ваш телефон укоренен, чтобы иметь такое поведение (мой телефон не укоренен). Если вы не проинформируете пользователя о том, что происходит, значит, это как-то сломано

Ответ 2

В моем случае Clean Master iSwipe вызывал эту проблему: отключите функцию ISWIPE в своих настройках

Ответ 4

Я собирался сообщить об этой же проблеме, но здесь он уже зарегистрирован, я столкнулся с этим с 2 месяцев, не знаю, почему, но кнопка "Разрешить" не работает и на моем телефоне NEXUS 6P. Кажется, эта проблема работает только в серии nexus

@Google и команда android: Пожалуйста, исправьте это, это действительно раздражает насчет того, сколько раз мы сталкиваемся с этой проблемой, я имею в виду для каждого приложения, нужно продолжать настройку обходного пути для ручного выбора разрешений.

Это действительно глупая ошибка:/

Ответ 5

Удаленный File Manager и снова загрузив его, кнопка "Разрешить" снова начнет работать снова.