• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

Efronc

  • 博客园
  • 联系
  • 管理

公告

View Post

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秒内按键激活屏幕的话,不需要重新解锁。

 

posted on 2012-02-23 21:57  Efronc  阅读(11202)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3