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()".

от https://developer.amazon.com/post/Tx385PNGJFMEB4R/Managing-Hibernation-Top-10-App-Optimizations-for-Kindle-Fire.html

Я действительно борюсь с Kindle Emulator и в большинстве случаев не могу его запустить.

Другие вопросы по тегам