Android Preview M: активность воссоздается после предоставления разрешения

Я играю с Preview M и тестирую на нем свое приложение, особенно часть «Сохранение файла во внешнем хранилище». Перед началом процесса загрузки / сохранения я запрашиваю

  Manifest.permission.WRITE_EXTERNAL_STORAGE

разрешение, как описано на странице разработчика:https://developer.android.com/preview/features/runtime-permissions.html

Диалог происходит, как и ожидалось:

"Allow <AppName> to access photos, media, and files on your device?" Deny / Allow

Если я нажимаю кнопку «deny», вызывается метод onRequestPermissionsResult для действия.

Если я нажимаю кнопку «allow», действие сначала воссоздается, а затем вызывается метод onRequestPermissionsResult. Я думаю, что это результат предоставленного разрешения.

Но вторая ситуация сложна, потому что я хочу вызвать обратный вызов, который запускает загрузку, но этот объект является нулевым в этой точке:

public void onRequestPermissionsResult(int requestCode,
                                       String permissions[], int[] grantResults) {

    getLogger().error("onRequestPermissionsResult ( " + requestCode + ", " + permissions + ", " + grantResults + " )");
    switch (requestCode) {


        //permission for saving files?
        case PermissionCode.WRITE_EXTERNAL_STORAGE: {


            if (grantResults[0] == PackageManager.PERMISSION_GRANTED) {

                //HERE IS THE NULL-OBJECT 
                if (controller != null) {

                    controller.triggerCallback();
                }
            }
            break;
        }
        default: {

            super.onRequestPermissionsResult(requestCode, permissions, grantResults);
        }
    }
}

Итак, мои вопросы:

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

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

Я пытался решить проблему с обработчиком и postDelayed - но я пропустил его.

РЕДАКТИРОВАТЬ 2:

Я предварительно решил ее и покажу пользователю тост с просьбой снова нажать кнопку загрузки (в случае предоставления разрешения). Но Google: ВЫ СЕРЬЕЗНЫ?

РЕДАКТИРОВАТЬ 3:

С последним SDK 6.0 (версия 23) не происходит никакого отдыха - может быть, кто-то слышал мой плач в Маунтин-Вью :-)

Ответы на вопрос(1)

Ваш ответ на вопрос