Как использовать ActivityResult API во фрагменте, когда Activity переопределяет метод onActivityResult

Я использую новый ActivityResultApi с ReactNavtive.

ReactActivity переопределяет метод.

      @Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
   mDelegate.onActivityResult(requestCode, resultCode, data);
}

Мой код фрагмента

      result = registerForActivityResult(ActivityResultContracts.StartActivityForResult()){
         //not getting call back here
    }

Как я могу получить обратный звонок здесь?

Одно из решений, над которым я работаю, - это вызов метода фрагмента из такой активности

      class MainActivity: ReactActivity {
   ... 
   override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
    super.onActivityResult(requestCode, resultCode, data)
    
    val fragment = supportFragmentManager.findFragmentByTag(TAG)
    
    if(fragment is LoadingFragment){
        fragment.onActivityResult(requestCode, resultCode, data)
    }
    
}
   ...

Какой подход лучше? Как предотвратить переопределение onActivityResult в нашей деятельности?

0 ответов

Другие вопросы по тегам