任何一个如何屏幕显示将通过编码在Android设备上昏暗... 我使用下面的代码,但它不能正常工作。 当我点击开启或关闭按钮我想要Android设备屏幕,如果我们昏暗或明亮,但它没有发生请帮助我...
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
off = (Button) findViewById(R.id.btnBackLightOff);
on = (Button) findViewById(R.id.btnBackLightOn);
final PowerManager pm = (PowerManager) this.getSystemService(Context.POWER_SERVICE);
// mWakeLock = pm.newWakeLock(PowerManager.SCREEN_DIM_WAKE_LOCK|PowerManager.ON_AFTER_RELEASE, "");
off.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
System.out.println("back light off method");
mWakeLock = pm.newWakeLock(PowerManager.SCREEN_DIM_WAKE_LOCK, "My Tag");
mWakeLock.acquire();
}
});
on.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
System.out.println("on method");
mWakeLock = pm.newWakeLock(PowerManager.SCREEN_BRIGHT_WAKE_LOCK, "My Tag");
mWakeLock.acquire();
}
});
}
@Override
public void onDestroy() {
System.out.println("on destroy method");
this.mWakeLock.release();
super.onDestroy();
}
答案 0 :(得分:1)
您可以明确设置亮度值,如:
setBright((float) 0.1);//tell screen to go on with 10% brightness
public void setBright(float value) {
Window mywindow = getWindow();
WindowManager.LayoutParams lp = mywindow.getAttributes();
lp.screenBrightness = value;
mywindow.setAttributes(lp);
}
答案 1 :(得分:1)
在您的代码中,您使用PowerManager获取唤醒锁定。 这意味着,在屏幕超时后,它将保持暗淡而不是完全关闭,并在用户交互后恢复到全亮度。
如果您想立即调暗屏幕,可能需要在此处使用代码, Screen brightness value in Android
您需要权限才能执行此操作。 uses-permission android:name =“android.permission.WRITE_SETTINGS”>