Подтвердить что ты не робот

Как удалить экран блокировки, который появляется после загрузки эмулятора на главный экран в Android 2.1

Экран блокировки появляется на главном экране после загрузки эмулятора. Я хочу отключить блокировку на главном экране, так что в следующий раз, когда я загружу свой эмулятор, экран блокировки не появится. Может ли кто-нибудь предложить лучшее решение для этого?

4b9b3361

Ответ 1

В последней версии Android OS 4.2.2 есть способ удалить ее через настройки эмулятора. Просто перейдите по ссылке: Безопасность → Блокировка экрана и выберите "НЕТ". Убедитесь, что вы сохранили настройки эмулятора в Snapshot, поэтому вам не нужно проходить эти же шаги.

Ответ 2

Я просто перенес эту проблему (не уверен, что ее можно решить программно), и обнаружил, что для меня работает работа с ударами.

http://forum.archosfans.com/viewtopic.php?f=34&t=30574

Ответ 3

Экран блокировки запускается службой. Сервис - это WindowManagerService. В службе код "wm.systemReady()" запускает сеанс блокировки.

Ответ 4

AFAIK, вы не можете, если не создаете собственный домашний экран.

Ответ 5

Из этого answer:

  • Если вы являетесь разработчиком или имеете доступ к коду приложения, то лучший и самый простой способ достижения это использует: http://developer.android.com/guide/topics/testing/activity_testing.html

     KeyguardLock keyguardLock = ((KeyguardManager)keyguardService).newKeyguardLock(TAG);
    
     if (enable) {
        keyguardLock.reenableKeyguard();
     } else {
        keyguardLock.disableKeyguard();
     }
        return true;
     }
    

    По-моему, это неприятное решение, поскольку оно требует от вас дополнительное разрешение в вашем приложении - то, что практически нет приложение потребуется.

    Как упоминалось [OP], вы должны удалить это, но люди забывают: я видел на рынке появилось несколько приложений, которые все еще имеют это разрешение если он действительно должен быть удален.

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

  • Второй лучший способ - использовать команды оболочки adb, чтобы разблокировать его на загрузку эмулятора. Фактический код будет отличаться в зависимости от того, что метод, который вы используете для вызова этих команд. Это, конечно, имеет что его можно запустить только при первом запуске эмулятор, после запуска эмулятора эта команда ничего не сделает.

    Вы можете запускать команду "adb shell" так часто, как вам нравится. Во-первых startup, он откроет меню Android, которое должно быть безвредным. На каждый последующий запуск, он нажимает Меню, которое открывает экран, по желанию.

  • Третий метод - это telnet в эмулятор, а затем используйте EV_KEY для разблокируйте его.

    telnet localhost 5554 событие отправить EV_KEY: KEY_MENU: 1 EV_KEY: KEY_MENU: 0 бросить курить

    Вы можете поместить это в файл bat или shell и вызвать его из своего теста, чтобы разблокируйте главный экран. Это опять же ограничивает возможность разблокировать только при первой загрузке и не могут использоваться для разблокировки Home после первой загрузки.

    Это кажется обратным. Главный экран не заблокирован, когда вы запускаете эмулятор в первый раз.

    В любом случае, я бы не рекомендовал это вообще, так как мы имеем больше надежное решение "adb shell" выше. Который также должен работать на устройства.

  • Четвертый вариант - использовать maven для его разблокировки. http://issues.hudson-ci.org/browse/HUDSON-7185 Это очень полезно для целей CI, но ограничено неспособностью откройте экран от затмения. Поэтому, если вы пишете свои тесты в Eclipse вам нужно запустить тесты с помощью командной строки, если вам нужно разблокируйте экран.

    Уточнение: этот отчет об ошибке касается плагина Android Emulator для Дженкинс/Хадсон, а не Мейвен. Решение Maven, упомянутое здесь, просто использует опцию "telnet" выше.

  • Наконец, еще один вариант - использовать моментальные снимки эмулятора Android. Представленный в Android SDK Tools v9, эмулятор теперь поддерживает сохранение текущее состояние эмулятора (похожее на другие продукты виртуализации как VMware).

    Итак, вы можете запустить эмулятор один раз, чтобы он разблокировался, затем закрой это. Запуск эмулятора впоследствии немедленно загрузится до чистого эмулятора с разблокированным экраном (пока вы не сохраняете состояние эмулятора при завершении работы (то есть параметр "-no-snapshot-save" ).

    BTW, эта функция моментального снимка будет автоматизирована и включена в следующий выпуск плагина Android Emulator для Jenkins/Hudson.

Ответ 6

Следующие шаги спомогли мне.

Шаги: Перейдите в AVD Manager → Щелкните правой кнопкой мыши на виртуальном устройстве → Wipe Data

Ответ 7

enter image description here

  • Энди (правый клик) - Настройки - Инструмент импорта VMI
  • Энди (правый клик) - Энди VM Launcher - Удалить этот Энди - Новый Энди - Запуск