Неожиданное возобновление «имени пакета», но уже возобновлено в «имени пакета» Ошибка в Android - PullRequest
22 голосов
/ 09 апреля 2010

При изменении ориентации моего телефона или эмулятора я получаю следующий вывод в LogCat:

04-09 11:55:26.290: INFO/WindowManager(52): Setting rotation to 1, animFlags=0
04-09 11:55:26.300: INFO/ActivityManager(52): Config changed: { scale=1.0 imsi=310/260 loc=en_US touch=3 keys=2/1/1 nav=3/1 orien=2 layout=18}
04-09 11:55:26.460: INFO/UsageStats(52): Unexpected resume of client while already resumed in client
04-09 11:55:26.579: INFO/SearchPosition(807):  Activity is paused
04-09 11:55:26.689: INFO/SearchPosition(807):  Activity is resuming

SearchPosition - это активность, которая отображается. Приостановка активности записывается в методе onPause, а активность возобновляется в методе onResume действия.

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

Это правильно? Если да, что вызывает ошибку? Если это не правильно? Что означает этот вывод?

Ответы [ 3 ]

12 голосов
/ 09 апреля 2010

Добавьте это в объявление активности в файле manifest.xml:

android:configChanges="orientation"

Пример:

<activity android:name=".MyApp" android:configChanges="orientation" android:label="@string/app_name">

https://developer.android.com/guide/topics/manifest/activity-element.html#config

Для устройств с QWERTY-клавиатурой

android:configChanges="keyboardHidden|orientation"
4 голосов
/ 07 января 2011

Пример использования android: configChanges = "direction" в файле AdroidManifest.xml:

 <activity android:name=".Sound"
            android:configChanges="orientation"
                  android:label="@string/app_name" android:debuggable="true" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
3 голосов
/ 31 мая 2011

Сначала я наткнулся здесь, и после прочтения ссылки, предоставленной leventix в его комментарии, я не могу не думать, что оба ответа на самом деле неверны. Затем я нашел предыдущий вопрос 3851363, который касается той же проблемы. Сообщение доброкачественное.

Поправьте меня, если я ошибаюсь, но я понял, что параметр конфигурации android: configChanges = "Ориентация" должен использоваться только тогда, когда вы хотите обрабатывать изменения конфигурации самостоятельно, а не проходить типичный цикл onDestroy / onCreate.

Кажется, что android-8 порождает ошибку без необходимости в нормальных условиях, когда меняется ориентация.

...