2010-05-14 63 views
19

仿真器啓動後,鎖定屏幕出現在主屏幕上。我想在主屏幕上禁用鎖定,以便下次啓動我的模擬器時鎖定屏幕不會出現。任何人都可以爲此提出最佳解決方案嗎?如何刪除仿真器啓動至Android 2.1主屏幕後出現的鎖定屏幕

+0

乘坐看看我的回答[這篇文章] [1]。 [1]:http://stackoverflow.com/questions/4545079/lock-the-android-device-programatically/10535284#10535284 – VidaLux 2012-05-10 13:48:19

+0

看看我回答這個帖子...它的工作對於我來說足夠了! [回答](http://stackoverflow.com/questions/4545079/lock-the-android-device-programatically/10535284#10535284) – VidaLux 2012-05-10 13:50:00

回答

1

AFAIK,你不能創建自己的主屏幕。

+0

我已經創建了我自己的主屏幕。在Linux模擬器上檢查主屏幕時,Emulator直接啓動到我的主屏幕,而不顯示任何LOCK。但是,當我使用Windows模擬器的ramdisk.img,system.img,userdata.img文件。爲我的主屏幕鎖定apears。請建議如何在這種情況下刪除鎖? – user341053 2010-05-14 11:56:29

+0

我還沒有找到設備中的任何設置來關閉鎖! – 2010-05-14 15:35:32

+0

我不想通過設備設置更改LOCK ..我想以編程方式執行此操作,以便下次啓動我的模擬器或設備時不鎖定屏幕apears。 – user341053 2010-05-17 05:37:25

1

鎖定屏幕由服務啓動。服務爲WindowManagerService。在服務中,代碼「wm.systemReady()」啓動Lock sceen。

1

從這個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文件,並從測試調用它 解鎖主屏幕。這又有一個限制,即只能在第一次啓動時解鎖,並且不能用於在首次啓動後解鎖主頁 屏幕。

    這似乎倒退了。首次啓動 模擬器時,主屏幕未鎖定。

    在任何情況下,我都不會推薦這樣做,因爲我們上面有更多的可靠的「adb shell」解決方案 。這也應該在真正的 設備上工作。

  4. 第四種選擇是使用maven來解鎖它。 http://issues.hudson-ci.org/browse/HUDSON-7185 這對於CI目的非常有用,但由於無法從日食中解鎖屏幕而受到限制 。因此,如果您要在 Eclipse中編寫測試,則必須使用命令提示符運行測試,如果您需要解鎖屏幕 。

    澄清:該錯誤報告是關於Jenkins/Hudson的 而不是Maven的Android模擬器插件。這裏提到的Maven解決方案只使用上面的「telnet」選項。

  5. 最後,還有一種選擇是使用Android模擬器快照。 在Android SDK Tools v9中引入的仿真器現在支持保存模擬器的當前狀態(類似於其他虛擬化產品 ,如VMware)。

    所以你可以啓動一次仿真器,這樣它就變成了解鎖,然後 關閉它。啓動模擬器隨後將立即加載 一個乾淨的仿真器解鎖屏幕(只要你不保存在關機 模擬器狀態(即「--no快照保存」選項)。

    BTW,此快照功能將在Android模擬器插件的詹金斯/哈德森 在下一個版本中的自動化和收錄。

9

了Android OS 4.2.2的最新版本有辦法通過模擬器的設置將其刪除。只需進入:安全>>屏幕鎖定,然後選擇「無」。確保您將仿真器設置保存爲快照,以便您不必繼續這些相同的步驟。

+3

這應該是我接受的答案,我認爲 – 2013-11-22 13:44:01

+0

如果您使用快照,執行設置是多餘的,因爲您可以在解鎖後保存快照。 – 2014-01-20 21:10:32

-1

enter image description here

  1. 安迪(右鍵) - 設置 - VMI導入工具
  2. 安迪(右鍵) - 安迪VM啓動 - 刪除此安迪 - 新安迪 - 啓動