Конфигурация автоматического поворота Android при изменении прослушивателя

Я хочу прослушивать изменение конфигурации «Автоповорот», а не ориентацию устройства/системы, а изменения переключения (вкл./выкл.)
Думаю, мне придется зарегистрироваться в configChange в AndroidManifest и создать прослушиватель везде, где я хочу, но я не уверен, что это правильная конфигурация. т.е.

android:configChanges='??'

Но может есть другой способ и не через android:configChanges...


person SagiLow    schedule 22.04.2013    source источник
comment
Вот вопрос... на что мне подписаться...   -  person SagiLow    schedule 22.04.2013
comment
stackoverflow.com/a/4435473/1620542 взгляните на это, должно быть то, что вы хотите   -  person Eluvatar    schedule 22.04.2013
comment
configChanges будет уведомлять вас только об изменении поворота (среди прочего), вы хотите знать, когда изменяется параметр автоматического поворота, нет?   -  person Eluvatar    schedule 22.04.2013
comment
@Eluvatar, да, вы правы, это может быть по-другому ... я просто думал, что это будет так, не могли бы вы пояснить, как первая ссылка должна помочь? Я не мог понять, где происходит автоповорот ..   -  person SagiLow    schedule 22.04.2013
comment
@sankarV, извините, не помогает, уже пробовал.   -  person SagiLow    schedule 22.04.2013
comment
это должно быть больше того, что вы ищете stackoverflow.com/a/7017516/1620542 вам нужно будет настроить его на работать на вас, но все должно быть в порядке, просто помните, что этот параметр находится в специальных возможностях.   -  person Eluvatar    schedule 22.04.2013
comment
проверьте мой ответ .. хотя кто-то за него проголосовал :( но мой ответ - это то, что вы хотели ... он отвечает, когда нажимается кнопка автоматического поворота   -  person stinepike    schedule 22.04.2013


Ответы (1)


вам нужно слушать Settings.System.ACCELEROMETER_ROTATION с помощью обозревателя контента.

Регистрация наблюдателя контента

getContentResolver().registerContentObserver(Settings.System.getUriFor
(Settings.System.ACCELEROMETER_ROTATION),
true,rotationObserver );

И заявить об этом здесь. Метод onChange будет вызываться при изменении поворота.

private ContentObserver rotationObserver = new ContentObserver(new Handler()) {
        @Override
        public void onChange(boolean selfChange) {
           Do your task
        }
};
person stinepike    schedule 22.04.2013
comment
он не хочет знать, когда устройство повернулось, он хочет знать, когда изменилась настройка автоповорота в специальных возможностях. - person Eluvatar; 22.04.2013
comment
@Eluvatar Я опубликовал именно то, что он хотел .. В следующий раз, пожалуйста, проверьте, прежде чем голосовать против - person stinepike; 22.04.2013
comment
@Eluvatar .. пожалуйста, не минусуйте кого-то, если вы в чем-то не уверены - person stinepike; 22.04.2013