169 похожих чатов

Гугл давненько выкатил упрощенную работу с activity result в виде

ActivityResultContract<I, O>
среди прочего там и упрощенная работа с разрешениями RequestPermission extends ActivityResultContract<String, Boolean>
в андроид доке предлагается уебанский пример как хендлить результаты - типа делаешь проперти в хосте (активити или фрагменте например) и ждешь там результат (O)
но прикол в том что проперти надо регистрировать раньше чем какая либо логика началась на экране - иначе крашится
в итоге выходит что этот метод нихуя не помогает - при возвращении к колбек в хосте всеравно есть проблема "а какую кнопку то нажали?"
может я чего то упускаю? или они просто ничего не решили этой новой апишкой?
т.е. как раньше я где то как то запоминал "какую кнопку нажали" так и сейчас всё тоже самое с этой апихой?

4 ответов

25 просмотров

По моему нормальное решение, у меня все хорошо работает. Походу вы, что-то не так делаете.

Konstantin-dmz9 Автор вопроса

я и не сказал что не работает

Я так делаю: Инициализация лончера и обработка результатов private val requestPermissionLauncher = registerForActivityResult(ActivityResultContracts.RequestMultiplePermissions()) { if (it["android.permission.READ_EXTERNAL_STORAGE"] == true && it["android.permission.WRITE_EXTERNAL_STORAGE"] == true) refreshData() } Запрос requestPermissionLauncher.launch(arrayOf(android.Manifest.permission.WRITE_EXTERNAL_STORAGE, android.Manifest.permission.READ_EXTERNAL_STORAGE)) Читабельность так себе, могу скрином кинуть, если что

Konstantin-dmz9 Автор вопроса

я вот позвонить хочу, у меня две кнопки А и Б надо бы проверить разрешения - окей - проверяю но в момент возврата, при удачной выдаче разрешения - надо сразу звонить, не ждать пока еще раз юзер нажмет. собсно - к моменту возврата в колбек - надо уже заранее знать "какую кнопку нажали", ну или превратив это в "какой то номер телефона". ну так и вопрос - эта новая апишка позволяет как то stateless гонять туда-сюда в интентах эту инфу а не запоминать/сериализовать это в хостах?

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта