Приложение Android снова вызывает MAIN / LAUNCHER вместо onResume () - PullRequest
1 голос
/ 06 декабря 2011

Когда мое приложение для Android - Activity B - перемещается в фоновый режим (когда пользователь нажимает кнопку home android), оно все еще живо, onStop () было вызвано, как и ожидалось.

Activity B не имеетбыл уничтожен здесь, но когда пользователь снова щелкает значок приложения, он снова вызывает фильтр намерений MAIN и LAUNCHER, начиная операцию A, вместо вызова onResume () для операции B.

, поэтому запускается операцияотображается - Действие A -, но если пользователь нажимает кнопку возврата Android, тогда запуск запуска завершается (), и отображается старое действие - Действие B!

что должно произойти, когда действие B переместится в фоновый режим, так это то, что действие B приостановлено и остановлено.Когда приложение возобновляется нажатием на значок приложения, действие B следует возобновить.(если только он не был убит и уничтожен, чего не было)

Как мне это исправить?Действие B первоначально открывается операцией A с использованием

Intent next = new Intent(ActivityA.this, ActivityB.class);
startActivity(next);
finish();

Вот запись манифеста для действия B

<activity android:name=".ActivityB"
    android:screenOrientation="portrait"
              android:label="@string/app_name"
              android:configChanges="orientation|keyboardHidden">
</activity>

Вот запись манифеста для действия A

<activity android:name=".Activity A"
     android:screenOrientation="portrait"
              android:label="@string/app_name"
              android:configChanges="orientation|keyboardHidden">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
</activity>

почему это происходит и как мне это исправить?

1 Ответ

5 голосов
/ 06 декабря 2011

Используйте android:launchMode="singleTask" в файле манифеста, где вы объявляете действие b.Тогда действие b не отображается в фоновом режиме.

...