Android-приложение закрывается на разжигании огня после гибернации
У меня проблема с моим приложением на Kindle Fire.
У меня нет собственного устройства, но у рецензентов приложения (и моего друга, который тестировал его для меня) возникла проблема с закрытием приложения, без сообщения об ошибке после выхода из режима гибернации.
Точная проблема заключается в том, что если вы переходите в спящий режим в портретном режиме, а затем выходите из спящего режима после перевода устройства в альбомный режим, на нем просто отображается домашний экран. Нет силы близко или что-нибудь.
Самое смешное, что если вы заняты другим приложением (в нем только 2 экрана), оно работает просто отлично. Главное меню - это то, на чем это происходит. Я проверил onResume для обеих операций, и они одинаковы. Однако экран главного меню - это ListActivity. Может ли это быть частью проблемы?
При возобновлении после изменения ориентации вызывается ли OnCreate снова?
Я надеюсь, что кто-то может направить меня в правильном направлении, потому что мой единственный метод тестирования - это повторная отправка и отправка APK другу за границу.
2 ответа
Я тоже сталкиваюсь с той же проблемой. Это происходит потому, что при пожаре Kindle, если пользователь переходит в спящий режим, меняет ориентацию и выходит из режима гибернации, метод onConfigurationChanged () вызывается перед onResume().
Это проблема фрагментации на Android от Amazon.
В качестве обходного пути я объявил два логических значения isPaused и isActivityNeedReconstructionAfterConfigChange.
Код выглядит примерно так:void onPause () {
isPaused = true;
} void onResume () {
if (isPaused && isActivityNeedReconstructionAfterConfigChange) {
//do what you do in onConfigurationChanged()
}
isPaused = false;
}
void onConfigurationChanged () {
isActivityNeedReconstructionAfterConfigChange = true;
if (! isPaused) {
isActivityNeedReconstructionAfterConfigChange = false;
//do what you do in onConfigurationChanged()
}
}
У меня похожая проблема, некоторые сложные Kindle с гибернацией и изменением ориентации. Расстраивает то, что я не могу даже разжечь огонь Kindle, так как они не отправляют в мою страну.
Единственное, на что я могу ответить за вас: "При возобновлении после изменения ориентации вызывается ли OnCreate снова?" Насколько я понимаю из приведенного ниже руководства, onCreate не вызывается, но вы должны использовать его при возобновлении и при паузе.
"Ваше приложение должно учитывать спящий режим в Kindle Fire - независимо от того, является ли спящий режим инициированным пользователем или происходит после истечения времени ожидания на экране. Подобно оптимизации быстрых настроек, для спящего режима требуется правильная обработка методов onPause() и onResume()".
Я действительно борюсь с Kindle Emulator и в большинстве случаев не могу его запустить.