我正在编写一个Android应用程序,并希望在获取唤醒锁后让我的屏幕变暗。但是,我的屏幕不暗淡。它只是继续(不会崩溃),好像什么也没发生。我知道唤醒锁定已开始设置,因为此处未显示一些测试代码。以下是我的代码:
//Relevant declarations:
PowerManager.WakeLock w1;
PowerManager pm;
public void onClick(View view) {
pm = (PowerManager) getSystemService((Context.POWER_SERVICE));
w1 = pm.newWakeLock((PowerManager.SCREEN_DIM_WAKE_LOCK), "My Tag");
w1.acquire(); //DOES NOT DIM
}
public void onShake () {
if (w1.isHeld())
{
w1.release();
}
//Manifest:
<uses-permission android:name="android.permission.WAKE_LOCK"/>
有什么想法吗? 感谢。
答案 0 :(得分:3)
w1.acquire(); //DOES NOT DIM
如果您希望它立即变暗,那就不是它的工作方式。 SCREEN_DIM_WAKE_LOCK
的意思是“将当前亮度更改为暗淡”。这意味着“我们需要屏幕至少昏暗”。其他任何东西,例如使用设备,都可能导致屏幕达到最大亮度。
答案 1 :(得分:0)
在清单中添加以下权限:
<uses-permission android:name="android.permission.WAKE_LOCK" />