【问题标题】:How to remove the lock screen that appears after the emulator boots up to main screen in Android 2.1如何在 Android 2.1 中删除模拟器启动到主屏幕后出现的锁定屏幕
【发布时间】:2011-02-19 11:33:17
【问题描述】:

模拟器启动后,锁定屏幕出现在主屏幕上。我想在主屏幕上禁用锁定,以便下次启动模拟器时不会出现锁定屏幕。任何人都可以为此提出最佳解决方案吗?

【问题讨论】:

标签: android


【解决方案1】:

最新版本的 Android OS 4.2.2 可以通过模拟器设置将其删除。只需转到:安全>>屏幕锁定,然后选择“无”。确保将模拟器设置保存到 Snapshot,这样您就不必继续执行这些相同的步骤。

【讨论】:

  • 如果你使用快照,做设置是多余的,因为你可以在解锁后保存快照。
【解决方案2】:

我也遇到了这个问题(不确定是否可以通过编程方式解决),发现向上翻页对我有用。

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

【讨论】:

  • 感谢它为我工作。在 MAC 我按 F2 并且模拟器锁消失了。 . .
【解决方案3】:

锁屏由服务启动,服务为WindowManagerService。在服务中,代码“wm.systemReady()”启动锁屏。

【讨论】:

    【解决方案4】:

    AFAIK,除非您创建自己的主屏幕,否则您无法做到。

    【讨论】:

    • 我已经创建了自己的主屏幕。在 Linux 模拟器上检查主屏幕时,模拟器直接启动到我的主屏幕,而不显示任何 LOCK。但是当我为 Windows 模拟器使用 ramdisk.img、system.img、userdata.img 文件时。锁定出现在我的主屏幕上。请建议在这种情况下如何解除锁定???
    • 我在设备中没有找到任何关闭锁的设置!
    • 我不想通过设备设置更改 LOCK。我想以编程方式进行操作,以便下次启动模拟器或设备时不会出现 LOCK 屏幕。
    【解决方案5】:

    来自answer

    1. 如果您是开发人员或有权访问 正在测试的应用程序然后是实现的最佳和最简单的方法 这是使用: 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] 提到的,您应该删除它,但人们忘记了:我看过一个 市场上发布的少数应用程序仍然拥有此权限 包括,当它真的应该被删除时。

      如果您可以自动只为测试构建包含此权限, 或在进行发布构建时自动删除权限,然后 很好。

    2. 第二种最好的方法是使用 adb shell 命令来解锁它 模拟器启动。实际代码会有所不同,具体取决于 用于调用这些命令的方法。这当然有 限制它只能在第一次启动时运行 模拟器,一旦模拟器启动,这个命令就什么也不做。

      您可以随意运行“adb shell”命令。在第一个 启动时,它会打开 Android 菜单,这应该是无害的。在 每次后续启动时,它将按菜单,这将解锁 屏幕,根据需要。

    3. 第三种方法是telnet进入模拟器,然后使用EV_KEY 解锁它。

      远程登录本地主机 5554 事件发送 EV_KEY:KEY_MENU:1 EV_KEY:KEY_MENU:0 退出

      你可以把它放在一个 bat 或 shell 文件中,然后从你的测试中调用它来 解锁主屏幕。这再次具有能够 仅在第一次启动时解锁,不能用于解锁 Home 首次启动后的屏幕。

      这似乎倒退了。启动时主屏幕未锁定 第一次使用模拟器。

      无论如何,我都不推荐这个,因为我们有更多 上面可靠的“adb shell”解决方案。这也应该适用于真实的 设备。

    4. 第四个选项是使用maven来解锁。 http://issues.hudson-ci.org/browse/HUDSON-7185 这对于 CI 目的非常有用,但受限于无法 从eclipse解锁屏幕。因此,如果您正在编写测试 Eclipse,如果需要,您必须使用命令提示符运行测试 解锁屏幕。

      澄清:该错误报告是关于 Android Emulator 插件的 詹金斯/哈德森,而不是 Maven。刚才提到的 Maven 解决方案 使用上面的“telnet”选项。

    5. 最后,另一种选择是使用 Android 模拟器快照。 在 Android SDK Tools v9 中引入,模拟器现在支持保存 模拟器的当前状态(类似于其他虚拟化产品 像 VMware)。

      所以你可以启动模拟器一次,让它解锁,然后 关掉它。随后启动模拟器将立即加载 在屏幕解锁的情况下启动一个干净的模拟器(只要您不保存 关闭时的模拟器状态(即“--no-snapshot-save”选项)。

      顺便说一句,此快照功能将自动化并包含在 适用于 Jenkins/Hudson 的 Android 模拟器插件的下一个版本。

    【讨论】:

      【解决方案6】:

      以下步骤对我有用。

      步骤:进入 AVD 管理器 -> 右键单击​​虚拟设备 -> 擦除数据

      【讨论】:

        【解决方案7】:

        1. Andy(右键单击)- 设置 - VMI 导入工具
        2. Andy(右键单击)- Andy VM 启动器 - 删除此 Andy - 新 Andy - 启动

        【讨论】:

          猜你喜欢
          • 2021-04-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多