在Glass GDK浸入式应用程序中打开活动时,如何使屏幕变亮?

Eri*_*ine 7 android google-glass google-gdk

我有一个GDK浸入式应用程序,发射器Activity获取一个SCREEN_DIM_WAKE_LOCK WakeLock.该应用程序还有一个服务,它将接收聊天消息并启动Intent一个Activity以显示每个消息.每当Activity打开消息时,我想让屏幕变亮.但是,我发现的所有方法似乎都不起作用.

例如,添加以下内容onResume无效:

    Settings.System.putInt(getContentResolver(), SCREEN_BRIGHTNESS_MODE, SCREEN_BRIGHTNESS_MODE_MANUAL);

    WindowManager.LayoutParams lp = getWindow().getAttributes();
    lp.screenBrightness = 1.0f;
    getWindow().setAttributes(lp);
Run Code Online (Sandbox Code Playgroud)

为了更好地说明问题,这是我的应用程序中的事件序列:

  1. 活动A启动并获取SCREEN_DIM_WAKE_LOCK.活动A在短时间后变暗.
  2. 服务B通过网络接收聊天消息,并为活动C创建一个Intent
  3. 活动C打开,如上所示设置屏幕亮度,但仍保持灰色

如何让屏幕变亮?

Eri*_*ine 5

通过获取SCREEN_BRIGHT_WAKE_LOCK带有ACQUIRE_CAUSES_WAKEUP标志的标志,我能够找到解决方案onResume.例如:

PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.SCREEN_BRIGHT_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP, "My Tag");
wl.acquire();
//..screen will stay on during this section..
wl.release();
Run Code Online (Sandbox Code Playgroud)