Механизм Android «onActivityResult» не будет работать

У меня большая и неприятная проблема с простым приложением. У меня есть два вида деятельности - A и B. Деятельность A открывает действие B одним нажатием кнопки. Упражнение B имеет два «конца»: если пользователь нажимает B.Back, если он только что закончил, и возвращается к A, если пользователь нажимает кнопку B.OK, действие B завершается, но до этого оно устанавливает результат «ОК», поэтому действие A можно закрыть. слишком.

Это псевдокод для A:

btnNext.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                                //some code...
                startAct(data);
            }
        });

private void startAct(Intent inte) {
        startActivityForResult(inte, -999);
    }

@Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);

        System.out.println(resultCode);

        if(requestCode != -999)
            return;

        if(resultCode == RESULT_OK)
            finish();
    }

Деятельность B делает это так:

btnOk.setOnClickListener(new OnClickListener() {
                @Override
                public void onClick(View v) {
                    //some other code...
                    finishOK();
                }
            });

private void finishOK() {
        setResult(RESULT_OK, new Intent());
        finish();
    }

Проблема в том, что это не сработает - когда я нажимаю «btnOK», B должен закончить, A должен «поймать» результат и завершить тоже, но это просто не произойдет. Что мне не хватает?

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

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