我正在为OBD数据(速度,转速,油门位置等)建立一个平视显示器。使用Glass。
我使用LiveCard来显示平显设备,但是像所有的卡一样,当眼镜让显示器进入休眠状态时,它会在几秒钟后消失。
有没有办法强制卡片保持可见,直到它被解除?如果HUD显示器一直需要唤醒,那么它就不是很有用。
到目前为止,代码如下:https://github.com/mpicco/glass-obd-hud。
谢谢,
马蒂
发布于 2014-07-29 15:14:24
我会推荐使用浸没+ 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
停止后释放它。
发布于 2014-07-29 15:57:15
我这样做的方式是在我希望保持屏幕打开的活动中,我添加了一个窗口参数,如下所示:
public class MyActivity extends Activity {
...
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
}
}
电源管理器服务可能会工作得很好,但这样当用户破坏我的活动或其他类似事情时,我不必担心维护状态。
https://stackoverflow.com/questions/25004050
复制相似问题