查看文件

frameworks/base/packages/SettingsProvider/res/values/defaults.xml

可以找到R.integer.def_screen_off_timeout的定义。

60000

发现默认值为60000ms,也就是60s。我们只需要把这个参数改为-1。然后重新编译SettingsProvider模块,就OK了。

另外为了防止用户进入系统后,修改锁屏时间,在Setting模块中删除对锁屏时间的设置。这样Android设备就永不锁屏了。

锁屏的代码在LockScreen.java中,可以设置锁屏功能开关的位置。代码位于:frameworks/policies/base/phone/com/android/internal/policy/impl/KeyguardViewMediator.java

该文件中有一个变量定义如下:

/**

* External apps (like the phone app) can tell us to disable the keygaurd.

*/

private boolean mExternallyEnabled = true;

mExternallyEnabled是用来管理是否开启屏幕锁的关键。默认值是打开屏锁,根据注释可以知道他是希望应用程序来修改这个值。但是经过加打印信息发现开机的时候没有任何应用程序会修改它。修改这个值调用如下函数:

/**

* Same semantics as {@link WindowManagerPolicy#enableKeyguard}; provide

* a way for external stuff to override normal keyguard behavior. For instance

* the phone app disables the keyguard when it receives incoming calls.

*/

public void setKeyguardEnabled(boolean enabled) {

synchronized (this) {

if (DEBUG) Log.d(TAG, "setKeyguardEnabled(" + enabled + ")");

mExternallyEnabled = enabled;

if (!enabled && mShowing) {

if (mExitSecureCallback != null) {

if (DEBUG) Log.d(TAG, "in process of verifyUnlock request, ignoring");

// we're in the process of handling a request to verify the user

// can get past the keyguard. ignore extraneous requests to disable / reenable

return;

}

// hiding keyguard that is showing, remember to reshow later

if (DEBUG) Log.d(TAG, "remembering to reshow, hiding keyguard, "+ "disabling status bar expansion");

mNeedToReshowWhenReenabled = true;

hideLocked();

} else if (enabled && mNeedToReshowWhenReenabled) {

// reenabled after previously hidden, reshow

if (DEBUG) Log.d(TAG, "previously hidden, reshowing, reenabling "+ "status bar expansion");

mNeedToReshowWhenReenabled = false;

if (mExitSecureCallback != null) {

if (DEBUG) Log.d(TAG, "onKeyguardExitResult(false), resetting");

mExitSecureCallback.onKeyguardExitResult(false);

mExitSecureCallback = null;

resetStateLocked();

} else {

showLocked();

// block until we know the keygaurd is done drawing (and post a message

// to unblock us after a timeout so we don't risk blocking too long

// and causing an ANR).

mWaitingUntilKeyguardVisible = true;

mHandler.sendEmptyMessageDelayed(KEYGUARD_DONE_DRAWING,KEYGUARD_DONE_DRAWING_TIMEOUT_MS);

if (DEBUG) Log.d(TAG, "waiting until mWaitingUntilKeyguardVisible is false");

while (mWaitingUntilKeyguardVisible) {

try {

wait();

} catch (InterruptedException e) {

Thread.currentThread().interrupt();

}

}

if (DEBUG) Log.d(TAG, "done waiting for mWaitingUntilKeyguardVisible");

}

}

}

}

经过上面的讨论我们可以发现我们有两个解决方法:

1、定义变量的时候,给其初始化为false。   2、在launcher模块启动的时候,调用setKeyguardEnabled方法,关闭锁屏功能。

android 代码 自动锁定时间,Android系统取消自动锁定屏幕相关推荐

  1. Android 系统性能优化(42)---Android代码内存优化建议-Android资源篇

    Android代码内存优化建议-Android资源篇 这篇文章主要介绍在实际Android应用程序的开发中,容易导致内存泄露的一些情况.开发人员如果在进行代码编写之前就有内存泄露方面的基础知识,那么写 ...

  2. android 切换连接wifi,Android代码连接Wifi时被系统切换到其他Wifi的问题

    首先说下Android代码连接Wifi的几个步骤:(以下涉及到具体API函数自查哈,写的时候凭借印象大致写了下) 转载请注明出处: 1.首先要开启Wifi连接开关,mWifiManager.setWi ...

  3. android 代码浏览,Webview实现android简单的浏览器实例代码

    WebView是Android中一个非常实用的组件,它和Safai.Chrome一样都是基于Webkit网页渲染引擎,可以通过加载HTML数据的方式便捷地展现软件的界面,下面通过本文给大家介绍Webv ...

  4. android 代码设置像素,【Android实例】用设计原则来重构1像素保活代码

    1 类图 在[FJU项目]1像素进程保活(二)中,涉及到的几个类的类图如下所示(仅供参考): 实线箭头:关联 虚线箭头:依赖 重构前UML类图在上图中,OnePixelManager里面有太多的职责, ...

  5. android 代码获取图片信息吗,Android 通过网络获取图片的代码

    Android 通过网络获取图片的代码 主activity package com.netimg; import android.app.Activity; import android.graphi ...

  6. android代码zip怎么用,Android平台实现Zip文件解压缩

    [android]代码库在Android平台中如何实现Zip文件的解压缩功能呢? 因为Android内部已经集成了zlib库,对于英文和非密码的Zip文件解压缩还是比较简单的,下面给大家一个解压缩zi ...

  7. win10系统取消自动更新

    win10系统的自动更新很是烦人,每次自动更新都会重启电脑,即使你做了设置,大多都没什么卵用,那么如何彻底取消win10系统的自动更新,步骤如下: 1 Windows+E,右键"此电脑&qu ...

  8. android代码修改excel文件格式,Android实现类似execel的表格 能回显并能修改表格内容的方法...

    如下所示: 自定义实现一个水平滚动控件HorizontalScrollView package com.example.view; import android.content.Context; im ...

  9. android代码获取应用名称,Android获取应用程序名称(ApplicationName)

    MainActivity如下: package cn.testapplicationname; import android.os.Bundle; import android.widget.Text ...

  10. 计算机登陆后如何防止自动注销,电脑取消自动注销_电脑怎么取消自动注销

    2016-12-02 10:54:26 您好,注销就是把当前的所有程序进程都关闭然后只留系统进程什么时候使用注销:1.你需要用另一个用户身份来登陆你的电脑,这个时候不需要重新启动操作系统,只要注销你现 ...

最新文章

  1. Dropout也能自动化?
  2. VR开发从何入手的实战分享
  3. WebLogic CVE-2021-2394 RCE 漏洞分析
  4. MySQL 1093 You can't specify target table for update in FROM c 的解决办法
  5. android js 弹窗,Android WebView 不能弹出alert的对话框
  6. 第2天:Ansible-Inventory管理
  7. jzoj5248-[NOIP2017提高A组模拟8.10]花花的聚会【倍增,树形dp】
  8. eplise怎么连接数据库_Eclipse连接MySQL数据库(傻瓜篇)
  9. oracle 读懂10046视频,10046、10053、实操记录
  10. Mysql 一条SQL语句实现批量更新数据,update结合case、when和then的使用案例
  11. 公开标准不赚钱,认证赚大钱
  12. 复杂系统学习(五):细胞自动机 I:1D 和 2D CAs
  13. PS教程,今天它来了
  14. CDN 是什么 、CDN 引入
  15. 从“网易邮箱被黑”看网页游戏账号安全
  16. itunes无法安装到win7系统更新服务器,win7系统无法安装itunes应用程序的解决方案...
  17. 深入浅出JS—03 函数闭包和内存泄漏
  18. 用 Python 和 Numpy 实现音频数字指纹特征识别
  19. 虚拟机构建局域网用户和组远程
  20. html画布里增添颜色,在HTML5画布中更改笔触颜色

热门文章

  1. Cadence的对齐命令
  2. 微信小程序配置支付(附完整代码)
  3. 【AI绘图学习笔记】变分自编码器VAE
  4. AT91RM9200---电源管理控制器(PMC)介绍
  5. ICMP Destination unreachable(Host administratively prohibited)
  6. 【幻灯片动画制作软件】Focusky教程 | 如何隐藏物体?
  7. 机箱在我们计算机的作用是什么意思,itx机箱是什么意思
  8. unity3d 大地图接壤_如何使用Unity自带的TileMap做出六边形地图
  9. asp.net中关于SQLCommand
  10. 九星连珠用c语言编程,神奇的天文现象——九星联珠