2011-10-26 2 views
0

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

Это работает безупречно, если приложение запускается снова с обычного значка рабочего стола. Но если я добавлю его в lockscreen «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"/> 
    ... 
+0

'У меня есть приложение с большим количеством действий'. Это подсказка, что, возможно, что-то не так с вашим дизайном – Falmarri

ответ

0

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

Смежные вопросы