activity启用与关闭屏幕,修改activity进入与退出系统间隔时间

本文详细介绍了在Android中如何使用Lock锁进行电源管理,包括屏幕常亮功能的启用与关闭,以及不同类型的电源锁对CPU、屏幕和键盘的影响。同时,提供了缩短activity动画播放时间的方法,以提高用户体验。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

android中通过各种Lock锁对电源进行控制,需要注意的是加锁和解锁必须成对出现。
//启用屏幕常亮功能
powerManagerpm=(PowerManager)getSystemservice(POWER_SERVICE);
wakeLock=pm.newWakeLock(PowerManager.FULL_WAKE_LOCK|PowerManager.ACQUIRE_CAUSES_WAKEUP,myPowerManager.TAG);
wakeLock.acquire();
//关闭屏幕常亮功能
if(wakeLock!=null){wakeLock.release();}
需要注意的是,您需要在mainfest权限获取
要进行电源的操作需要在AndroidManifest.xml中声明该应用有设置电源管理的权限。
<uses-permission android:name="android.permission.WAKE_LOCK"/>

<uses-permission android:name ="android.permission.device_POWER"/>
另外,根据flags不同的值,实现不同级别的电源管理。
关于intflags各种锁的类型对CPU、屏幕、键盘的影响:
PARTIAL_WAKE_LOCK:保持CPU运转,屏幕和键盘灯有可能是关闭的。
SCREEN_DIM_WAKE_LOCK:保持CPU运转,允许保持屏幕显示但有可能是灰的,允许关闭键盘灯
SCREEN_BRIGHT_WAKE_LOCK:保持CPU运转,允许保持屏幕高亮显示,允许关闭键盘灯
FULL_WAKE_LOCK:保持CPU运转,保持屏幕高亮显示,键盘灯也保持亮度.

[DESCRIPTION]

在点击进入某个activity,或者离开退出某个activity画面的过程中,会播放动画,如果想缩短动画播放时间,可以修改代码:

[SOLUTION]

在Frameworks/base/services/Java/com/android/server/wm/WindowManagerService.java中找到如下方法,并做修改
private Animation createScaleUpAnimationLocked(int transit, boolean enter) {
Animation a;
// Pick the desired duration. If this is an inter-activity transition,
// it is the standard duration for that. Otherwise we use the longer
// task transition duration.
int duration;
switch (transit) {
case WindowManagerPolicy.TRANSIT_ACTIVITY_OPEN:
case WindowManagerPolicy.TRANSIT_ACTIVITY_CLOSE:
duration = mContext.getResources().getInteger(
com.android.internal.R.integer.config_shortAnimTime);
break;
default:
duration = 300;
/// M: For Low Bandwidth Application Transition Animation @{
if (Featureoption.MTK_LOW_BAND_TRAN_ANIM) {
duration = 200;
}
/// @}
break;
}
//在此处重新设置duration的值,
//上面的代码是去读取默认的配置,默认值是300,你可以依次逐渐减少该值,如250,200,150,100
//你自己感觉这些值的效果,看哪个满意,你就用哪个;
// TODO(multidisplay): For now assume all app animation is on main display.
final DisplayInfo displayInfo = getDefaultDisplayInfoLocked();
if (enter) {

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值