開始在手機上開發應用了。但是發現與機頂盒不一樣,手機因爲電池使用有限,所以隔段時間會鎖屏,很影響開發以及使用。今天在網上查了些資料,代碼上實現“禁止鎖屏,保持高亮”大致有以下幾種方法:
1、在每個Activity中的onCreate()中加入代碼:
1
2
3
4
5
6
7
8
9
|
@Override protected void onCreate(Bundle
savedInstanceState) { super .onCreate(savedInstanceState); setContentView(R.layout.controller); getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
//應用運行時,保持屏幕高亮,不鎖屏 findViews(); setListeners(); init(); } |
2、在每個Activity中的onResume以及onPause中加入代碼:
1
2
3
4
5
6
7
8
9
10
|
//onResume
中啓用 wakeLock
= ((PowerManager) getSystemService(POWER_SERVICE)) .newWakeLock(PowerManager.SCREEN_BRIGHT_WAKE_LOCK |
PowerManager.ON_AFTER_RELEASE, TAG); wakeLock.acquire(); //onPause
中禁用 if (wakeLock
!= null )
{ wakeLock.release(); } |
在第2個方法中,需要加入權限:
1
|
<uses-permission
android:name= "android.permission.WAKE_LOCK" /> |
3、在每個Activity中加入代碼:
1
|
mContentResolver
= getContentResolver(); |
1
2
3
4
5
6
7
8
9
|
setLockPatternEnabled( false ); public void setLockPatternEnabled( boolean enabled)
{ setBoolean(android.provider.Settings.System.LOCK_PATTERN_ENABLED, enabled); } private void setBoolean(String
systemSettingKey, boolean enabled)
{ android.provider.Settings.System.putInt(mContentResolver, systemSettingKey,
enabled ? 1 :
0 ); } |
在第3個方法中,需要加入權限:
1
|
<uses-permission
android:name= "android.permission.WRITE_SETTINGS" /> |