Получить результат от намерения

#java #android #android-intent

Вопрос:

Я хочу проверить ACTION_MANAGE_OVERLAY_PERMISSION с помощью registerForActivityResult, и этот код не работает, когда я проверяю разрешение, всплывающее окно «Ok» не появляется

mStartForResult.launch(new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION));

 ActivityResultLauncher<Intent> mStartForResult = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(),
            new ActivityResultCallback<ActivityResult>() {
                @Override
                public void onActivityResult(ActivityResult result) {
                    if (result.getResultCode() == Activity.RESULT_OK) {
                        Toast.makeText(MainActivity.this,"Ok",Toast.LENGTH_SHORT).show();
                    }
                }
            });```
 

Ответ №1:

Это Intent действие не документировано для возврата чего-либо. Таким образом, вы никогда не получите Activity.RESULT_OK .

Комментарии:

1. Итак, как мне узнать, что разрешение проверено или нет, пожалуйста?

2. @dani: canDrawOverlays() предположительно, вызов.

3. хорошо, я попробую.

4. это работает, спасибо.