Android: onActivityResult () не вызывает startActivityForResult - PullRequest
2 голосов
/ 28 января 2011

У меня есть активность с именем Main.Я вызываю другое действие Sub из этого Main действия, используя startActivityForResult().И я хочу взять результат этого действия Sub, используя функцию onActivityResult().

Я могу вызвать действие Sub.Но когда вы возвращаетесь из активности Sub, она не вызывает функцию onActivityResult().Поэтому я не могу получить результат действия Sub.

На самом деле мое действие Main начинается с действия MainGroup с использованием функции startActivity(), которая расширяет ActivityGroup.

Есть ли способ получить результат действия без вызова onActivityResult()?

Отредактировано

На самом деле я вызываю действие для предварительных утверждений PayPal.И деятельность, которую я вызываю, находится в библиотеке PayPla (файл .jar).Поэтому я не могу изменить эту деятельность.И когда я реализовал это в другом приложении без ActivityGroup, это работает нормально

Пожалуйста, помогите мне ..

Спасибо ...

Ответы [ 2 ]

1 голос
/ 09 марта 2012

чтобы вызвать метод onActivityResult(), необходимо убедиться, что requestCode соответствует requestCode (например, здесь YOUR_REQUEST_CODE ), используемому в PreapprovalIntent:

  Intent preapproveIntent = PayPal.getInstance().preapprove(
      preapproval, getBaseContext());
  preapproveIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
  startActivityForResult(preapproveIntent, YOUR_REQUEST_CODE);

, поэтому в вашем onActivityResult () у вас должно быть что-то вроде:

@Override
  public void onActivityResult(int requestCode, int resultCode, Intent data) {

    switch (resultCode) {
      case Activity.RESULT_OK:
        if (requestCode == YOUR_REQUEST_CODE) {
          Log.i("RESULT", "IT WORKS");
        }
        break;

      default:
        break;
    }
  }

это должно работать, но у меня действительно была проблема с результатами Activity: вместо вызова Activity.RESULT_OK , мой код вызывает Activity.RESULT_CANCELED in onActivityResult().Что действительно странно, так как я уверен, что мой процесс предварительного утверждения работает.Это даже странно, так как код onActivityResult() вызывается, как только отображается активность PayPal.

Извините, что говорю вам об этом, но API и документация PayPals - беспорядок.Если у некоторых из вас возникла такая же проблема, пожалуйста, дайте мне знать, как вы ее решили (если вы ее решили; -))

0 голосов
/ 28 января 2011

Я думаю, что вы делаете действительно неправильно. Если вы хотите получить результат sub, вы должны написать startActivityForResult () для sub и получить результат активности из main

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...