我正在使用Glass构建OBD数据(速度,转速,油门位置等)的抬头显示。
我正在使用LiveCard来显示HUD,但是就像所有卡片一样,它会在几秒钟后消失,因为Glass会让显示器进入睡眠状态。
有没有办法强制卡在被解雇之前保持可见?如果需要唤醒HUD显示器并不是非常有用。
到目前为止的代码在这里:https://github.com/mpicco/glass-obd-hud。
谢谢,
玛蒂
答案 0 :(得分:1)
我建议您使用Immersion + FLAG_KEEP_SCREEN_ON
旗帜或Service
内的partial wakelock。
PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.SCREEN_DIM_WAKE_LOCK, "My Tag");
wl.acquire();
// ..screen will stay on during this section..
wl.release();
如果你确实使用了唤醒锁解决方案,请不要忘记在Service
停止后释放它。
答案 1 :(得分:0)
我这样做的方式是在我想保持屏幕的活动里面,我添加了一个窗口参数,如下所示:
public class MyActivity extends Activity {
...
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
}
}
电源管理器服务可能也可以正常工作,但这样当用户破坏我的活动或其他类似的事情时,我不必担心维持状态。