假如我们的游戏需要省电模式,例如:
正常启动时游戏后,使用高性能模式。
当玩家超过1分钟没有操作时,可以强制设备进入sleep停止应用.
也可以,把屏幕亮度调低,从而进入省电模式,方便玩家挂机,自动战斗.
这怎么实现呢?
想了想,估计应该有相关API 不过和平台相关
以下是百度找了安卓相关滴API
下面是转载滴原文:
http://www.cnblogs.com/jason-star/archive/2012/10/15/2724494.html
_______________________________
android 设置系统屏幕亮度
/**
* 获得当前屏幕亮度的模式
* SCREEN_BRIGHTNESS_MODE_AUTOMATIC=1 为自动调节屏幕亮度
* SCREEN_BRIGHTNESS_MODE_MANUAL=0 为手动调节屏幕亮度
*/
private int getScreenMode(){
int screenMode=0;
try{
screenMode = Settings.System.getInt(getContentResolver(), Settings.System.SCREEN_BRIGHTNESS_MODE);
}
catch (Exception localException){
}
return screenMode;
}
/**
* 获得当前屏幕亮度值 0--255
*/
private int getScreenBrightness(){
int screenBrightness=255;
try{
screenBrightness = Settings.System.getInt(getContentResolver(), Settings.System.SCREEN_BRIGHTNESS);
}
catch (Exception localException){
}
return screenBrightness;
}
/**
* 设置当前屏幕亮度的模式
* SCREEN_BRIGHTNESS_MODE_AUTOMATIC=1 为自动调节屏幕亮度
* SCREEN_BRIGHTNESS_MODE_MANUAL=0 为手动调节屏幕亮度
*/
private void setScreenMode(int paramInt){
try{
Settings.System.putInt(getContentResolver(), Settings.System.SCREEN_BRIGHTNESS_MODE, paramInt);
}catch (Exception localException){
localException.printStackTrace();
}
}
/**
* 设置当前屏幕亮度值 0--255
*/
private void saveScreenBrightness(int paramInt){
try{
Settings.System.putInt(getContentResolver(), Settings.System.SCREEN_BRIGHTNESS, paramInt);
}
catch (Exception localException){
localException.printStackTrace();
}
}
/**
* 保存当前的屏幕亮度值,并使之生效
*/
private void setScreenBrightness(int paramInt){
Window localWindow = getWindow();
WindowManager.LayoutParams localLayoutParams = localWindow.getAttributes();
float f = paramInt / 255.0F;
localLayoutParams.screenBrightness = f;
localWindow.setAttributes(localLayoutParams);
}