как всегда начинать с последней использованной активности? - PullRequest
0 голосов
/ 27 октября 2011

У меня есть приложение с большим количеством действий.При возврате с рабочего стола или с экрана блокировки ожидаемое поведение заключается в том, что последнее использованное действие отображается снова.

Это работает безупречно, если приложение снова запускается с обычного значка на рабочем столе.Но если я добавлю его на экран блокировки «widgetlocker» и начну его оттуда, всегда будет отображаться основное действие.И, к сожалению, если я закрою основное действие позже, вернувшись с помощью кнопки «Назад», я вернусь ко всем остальным экземплярам этого основного действия.

Это может быть связано с тем, что я возвращаюсь на экран блокировки при закрытии приложения сразу после его открытия с экрана блокировки.

Но я довольно озадачен, почему поведение отличается, если я открываю с экрана блокировки или открываю нормально.

Есть предложения?Как я могу заставить приложение ВСЕГДА возвращаться к последнему используемому экрану?

    ...
    # main activity:
    <activity android:name="StudyOptions"
            android:launchMode="singleTask"
            android:configChanges="keyboardHidden|orientation|locale">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
        <intent-filter>
            <action android:name="android.intent.action.VIEW" />
            <category android:name="com.ankidroid.category.DECK" />
            <category android:name="android.intent.category.DEFAULT" />
            <data android:mimeType="application/vnd.anki" />
        </intent-filter>
    </activity>
    <activity android:name="DeckPicker" 
        android:label="DeckPicker"
        android:configChanges="keyboardHidden|orientation|locale"/>
   ...

1 Ответ

0 голосов
/ 27 октября 2011

как насчет поддержания изменений активности как конечного автомата.Предоставление номера состояния для каждого действия и сохранение текущего в базе данных.И восстановите последнее состояние из базы данных при запуске и отобразите соответствующую активность.

...