Android设备被代码锁定

时间:2011-10-14 10:13:15

标签: android

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

2 个答案:

答案 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”>