Android鎖屏控制


1.鎖屏時間

鎖屏時間控制代碼位於:frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java  

private void loadSystemSettings(SQLiteDatabase db) {  
  ……
  loadIntegerSetting(stmt, Settings.System.SCREEN_OFF_TIMEOUT, R.integer.def_screen_off_timeout);
  ……

控制數據位於:frameworks/base/packages/SettingsProvider/res/values/defaults.xml  

可以找到:<integer name="def_screen_off_timeout">60000</integer>  

60000以毫秒為單位,即1分鍾,若設置為-1即不鎖屏,這樣修改的話,啟動后依舊會進入鎖屏狀態,解鎖之后就再也不會鎖屏了。

2.禁止開機鎖屏

開機鎖屏代碼位於:frameworks/base/policy/src/com/android/internal/policy/impl/KeyguardViewMediator.java

  /**
     * External apps (like the phone app) can tell us to disable the keygaurd.
     */
  private boolean mExternallyEnabled = true;

由此可知默認是鎖屏狀態的。

查找該變量會發現如下代碼:

    public void setKeyguardEnabled(boolean enabled) {
        synchronized (this) {
            if (DEBUG) Log.d(TAG, "setKeyguardEnabled(" + enabled + ")");

            mExternallyEnabled = enabled;
所以可以在程序中調用setKeyguardEnabled來控制鎖屏狀態。

 3.與鎖屏其他相關設置

留意2中的代碼,會發現還有很多默認參數在此設置。

例如:

    /**      * How long to wait after the screen turns off due to timeout before
     * turning on the keyguard (i.e, the user has this much time to turn
     * the screen back on without having to face the keyguard).
     */
    private static final int KEYGUARD_DELAY_MS = 5000;

這個參數就是背光熄滅后5秒內按鍵激活屏幕的話,不需要重新解鎖。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM