Как отключить вызов onResume (), если вызывается onActivityResult () - PullRequest
0 голосов
/ 17 мая 2019

У меня есть функция обновления, вызываемая внутри onResume(), если пользователь свернет приложение и вернется, он обновит список данных с сервера. Проблема заключается в том, что те же функциональные возможности, но с другими параметрами (и другим сценарием использования) используются, когда пользователь возвращается из другого действия. Это обновит список только частично (не все данные). Есть ли возможность блокировать вызов метода onResume(), если вызывается onActivityResult()?

Ответы [ 2 ]

1 голос
/ 17 мая 2019

Есть один способ достичь этого,

onActivityResult

позвонят до звонка

onResume

Итак, вы можете добавить туда флаг и проверить необходимое условие. Пришел ли другой экран или нет.

override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
    super.onActivityResult(requestCode, resultCode, data)
    if (resultCode == Activity.RESULT_OK && requestCode == 3214) {
cameFromOtherScreen = true; }

override fun onResume() {
    super.onResume()
if(!cameFromOtherScreen) {
   //do your thing }
}
0 голосов
/ 17 мая 2019

сначала задайте глобальную логическую переменную следующим образом: -

boolean isPaused = false; 

Теперь установите методы в вашей деятельности: -

@Override
    protected void onUserLeaveHint() {
        isPaused = true;
        super.onUserLeaveHint();
    }

или в вашем методе onResume: -

@Override
    protected void onResume() {
        if(isPaused){
         isPaused = false;
        super.onResume();
          }

    }
...