Android 安卓设备被代码锁定

Android 安卓设备被代码锁定,android,Android,任何一个如何显示屏幕的人都将通过编码在android设备上变暗。。。 我使用了下面的代码,但它不能正常工作。 当我点击“开”或“关”按钮时,我想查看android设备屏幕是否变暗或变亮,但这并没有发生请帮助我 @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); off =

任何一个如何显示屏幕的人都将通过编码在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();
}

可以显式设置亮度值,如下所示:

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);
}

在代码中,您正在使用PowerManager获取唤醒锁。 这意味着,在屏幕超时后,它将保持暗淡,而不是完全关闭,并在用户交互后恢复到全亮度

如果要立即调暗屏幕,可能需要使用此处的代码,

您需要权限才能这样做。 使用权限android:name=“android.permission.WRITE\u设置”>