android app防止锁屏_Android开发中禁止屏幕休眠和锁屏的方法

private void loadSystemSettings(SQLiteDatabase db) {4 t7 C" B0 Y1 b3 N) Y5 m# l% H

d2 G; W8 ]" o$ E2 Y$ M: c8 E

SQLiteStatement stmt = db.compileStatement(“INSERT OR IGNORE INTO system(name,value)”

1 N7 F8 u7 h4 H( V5 x% w   - S* ^+ s. L! n, u9 X

+ ” VALUES(?,?);”);: A' v9 {0 s# U4 u# I- i

9 F# `9 F0 |1 `; ^0 |, F7 y$ XResources r = mContext.getResources();8 Q0 @5 ~$ x+ g4 _# f, O

* Z- c8 y0 |. d1 }loadBooleanSetting(stmt, Settings.System.DIM_SCREEN,. p2 w: o6 `9 x! |

& g# c- {7 P; L. p

R.bool.def_dim_screen);

6 o3 F; M+ X; \9 j   6 |5 _! b8 B; T  {

loadSetting(stmt, Settings.System.STAY_ON_WHILE_PLUGGED_IN,7 Q6 N& j/ t1 [7 N, k

+ M2 Q" Z( L- V3 w$ s“1″.equals(SystemProperties.get(“ro.kernel.qemu”)) ? 1 : 0);

2 Z$ X( V. w! k) k& y& A" _+ K

+ `; b: m5 A7 T/ MloadIntegerSetting(stmt, Settings.System.SCREEN_OFF_TIMEOUT,

- ]+ ^& ~9 ^/ k) C" q6 J6 y

, V5 K+ B& A. s5 n: nR.integer.def_screen_off_timeout);

+ ~2 h$ K' l( @5 c; E8 a

0 U: }, A6 c' @2 R9 a* n/ E8 C8 q// Set default cdma emergency tone4 n6 ]$ t  Q8 P5 t7 g0 n- [0 Z

+ G) I0 c  g0 m1 m3 {  g5 O

loadSetting(stmt, Settings.System.EMERGENCY_TONE, 0);

; |) N  a! ^1 [  B; i9 O/ ~5 R

8 K( d% I' v8 v) q6 b' _// Set default cdma call auto retry& M8 L: h7 Y* P( K* x/ S

! I2 f1 l" }7 X" v1 dloadSetting(stmt, Settings.System.CALL_AUTO_RETRY, 0);$ O* \# X8 B. X' T$ q" H& h. G

+ w: w! X$ T; J6 F- M1 ~

// Set default cdma DTMF type

6 T) ]6 B6 ^* {) J

. ~+ \$ K8 b! MloadSetting(stmt, Settings.System.DTMF_TONE_TYPE_WHEN_DIALING, 0);6 e5 v, n  V6 s' v

. P+ S: _0 b) m. g4 e4 _9 _# t// Set default hearing aid1 B  g* T8 x9 ^9 T! g# H6 f: ]) C

0 x! T9 }; d; S- O* x( QloadSetting(stmt, Settings.System.HEARING_AID, 0);( `# B- q2 J$ a2 x# [4 C- v

" ^* |8 f0 x- x// Set default tty mode: {2 j- m- G7 P# K' r

4 Q& R1 z. r6 m0 C! m( bloadSetting(stmt, Settings.System.TTY_MODE, 0);

5 t/ {5 @7 }9 V6 J- L$ T  f

; T: S) V' e6 d' p" L2 l5 b/ n" `) cloadBooleanSetting(stmt, Settings.System.AIRPLANE_MODE_ON,! w7 A0 z; m( ]9 J9 t

P& B5 P& R/ [( n4 _; K

R.bool.def_airplane_mode_on);

3 P) M3 ?# n+ L' N( U) h7 U   " r1 O& g; m4 m4 v3 H$ `

loadStringSetting(stmt, Settings.System.AIRPLANE_MODE_RADIOS," [/ O0 r! J4 c

8 l$ {' Z* E' d( g* }

R.string.def_airplane_mode_radios);

: u/ s- B" V7 M

+ l* q& M& k$ h8 B- n+ ]" WloadStringSetting(stmt, Settings.System.AIRPLANE_MODE_TOGGLEABLE_RADIOS,+ }+ x6 I, p3 w! I) w" O9 M

. D, q) V) R& o$ c7 t! @# k2 m

R.string.airplane_mode_toggleable_radios);$ H$ r2 B6 [' b, c3 u

9 n+ ^! {* X# B1 u7 |: a8 k

loadBooleanSetting(stmt, Settings.System.AUTO_TIME,

4 f/ U9 B- A" n   1 H/ T) T# Z. F9 Q  v3 {- R+ x- S

R.bool.def_auto_time); // Sync time to NITZ

6 }) Q3 v, l9 |% N2 x2 ]/ N$ u   : w, R, k6 [# ]- ]/ I! i' e* h

loadIntegerSetting(stmt, Settings.System.SCREEN_BRIGHTNESS,

" b2 b0 s* \- V/ U' x* D

/ w/ b% L. t% Y) V5 }  L3 IR.integer.def_screen_brightness);

! q, p1 e# Y$ Z9 Z, X+ ~   4 T/ H, T3 O0 a% g8 T

loadBooleanSetting(stmt, Settings.System.SCREEN_BRIGHTNESS_MODE,

% y6 z$ E- ~; u" L# x. o  i   5 c, n2 D$ x8 D% s! k6 t

R.bool.def_screen_brightness_automatic_mode);! D& M4 r6 u- z$ A5 z* f

9 f/ ]4 w5 b0 [9 g' XloadDefaultAnimationSettings(stmt);9 T! X% S7 M# y& j' r/ C

: [* y6 \* O1 I8 u% a8 m

loadBooleanSetting(stmt, Settings.System.ACCELEROMETER_ROTATION,

8 @" F4 |( b! t' d  s

7 q6 T  d6 x: K, K: ZR.bool.def_accelerometer_rotation);

' G9 m- i7 L2 Z% {7 s2 `   * r7 u- {* g4 j  W  |' B

loadDefaultHapticSettings(stmt);

5 g' X$ t* ?* Q' V! r- V   : |& d4 Q5 |: D+ P

stmt.close();

, @9 b, ]7 r7 g! D# X( x   : K8 `  b: w: V3 b3 |1 G! Y. o+ W9 s

}' C- E+ y) f9 H* c

4 W- M8 \2 A1 w, Q$ M

我们通过查看源码便知道, Settings.System.SCREEN_OFF_TIMEOUT没有初始化的话(系统首次启动,这个字段肯定是没有初始化+ y# V+ K! ^( Z: D3 g) V/ d$ b- b

/ V* K! n  V+ T1 M8 c

我们通过查看源码便知道, Settings.System.SCREEN_OFF_TIMEOUT没有初始化的话(系统首次启动,这个字段肯定是没有初始化的),系统将会利用资源中的R.integer.def_screen_off_timeout来初始化。我们为了让系统永不锁屏,只需要把资源 R.integer.def_screen_off_timeout设为-1即可。查看文件在这里:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值