Редактировать / обновить:
В качестве обновления к приведенной ниже проблеме я нашел точное действие, которое вызывает ее.
- Скачать апк из URL через браузер Android
- Установите приложение.
- После установки приложение предлагает два варианта: «Открыть» или «Готово».
- Если вы выберете «Открыть», начнется необычное поведение, описанное ниже.
- Если вы выберете «Готово», а затем запустите приложение из панели приложений, оно будет работать нормально.
Похоже, что эта проблема вызвана использованием кнопки «Открыть», которую браузер предоставляет вам после установки APK.
При первой установке я обнаружил ошибку в стеке приложений. Я сделал тестовое приложение, чтобы продемонстрировать это.
Тестовое приложение - это просто два действия, A и B. Действие A запускает B. Это все, что он делает. Rest - это сгенерированный мастером код шаблона из Eclipse.
Когда пользователь устанавливает приложение (через веб-URL apk) и запускает его в течение первого времени, я получаю стек действий вне очереди:
-Пользователь запускает приложение, A сверху.
-Они запускают B, нажав кнопку. B находится на вершине стека.
-Пользователь нажимает кнопку главного экрана.
-Пользователь возвращается в приложение, вместо B. отображается А *.
-Пользователь нажимает клавишу возврата, отображается B!
-Пользователь снова нажимает клавишу возврата, отображается A!
- Пользователь снова нажимает клавишу «Назад», отображается начальный экран.
-Теперь стек чист, и приложение теперь ведет себя "нормально"!
Кто-нибудь еще видит это? Это почти точно так же, как эта известная ошибка, однако мои пользователи не устанавливают из eclipse:
http://code.google.com/p/android/issues/detail?id=2373&q=first%20%20i...
Я могу предоставить тестовое приложение / источник, если кто-то захочет попробовать. Это манифест, в котором нет особых настроек.
<activity android:name=".ActivityA"
android:label="ActivityA"
>
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="ActivityB"
android:label="ActivityB"
>
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
Насколько я знаю, этого точно не должно происходить, и он прекрасно работает после того, как вы очистите стек истории в первый раз.
Спасибо