android - 在我的 Glass GDK 沉浸式应用程序中打开 Activity 时如何使屏幕变亮?

标签 android google-glass google-gdk

我有一个 GDK 沉浸式应用程序,其中启动器 Activity 获取一个SCREEN_DIM_WAKE_LOCK WakeLock。该应用程序还有一项服务,该服务将接收聊天消息并为 Activity 启动 Intent 以显示每条消息。每当打开消息 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);

为了更好地说明问题,以下是我的应用中的事件顺序:

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

如何让屏幕变亮?

最佳答案

我能够通过在 onResume 中使用 ACQUIRE_CAUSES_WAKEUP 标志获取 SCREEN_BRIGHT_WAKE_LOCK 找到解决方案。例如:

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

关于android - 在我的 Glass GDK 沉浸式应用程序中打开 Activity 时如何使屏幕变亮?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21485133/

相关文章:

android - 谷歌眼镜 : GDK with Android Studio

java - Thread.run() 和 Handler.post() 和 Android 中的 Service 有什么区别?

android - 测试导航组件 : "does not have a NavController"

Android NDK 和 Gradle : Different Android. mk 每个构建类型

android - 有没有办法在模拟器中运行玻璃器皿?

android - 谷歌眼镜 : return to voice_trigger/voice_prompt from the Activity

java - 如何在 Eclipse 中更新到最新版本的 Android 支持库?

android - 生成 httprequest 以从 android 镜像 api 服务的正确方法

google-app-engine - appengine localhost 上的 glass java 启动项目

google-glass - 如何将菜单项分配给使用 TimelineManager 插入的卡?