0
我可以检查是否启用了老化保护属性,但有什么方法可以判断老化模式当前是否处于活动状态?特别是当屏幕移动时。当老化保护启动时检测?
基本上类似 “onAmbientModeChanged” 烧伤英寸
谢谢!
我可以检查是否启用了老化保护属性,但有什么方法可以判断老化模式当前是否处于活动状态?特别是当屏幕移动时。当老化保护启动时检测?
基本上类似 “onAmbientModeChanged” 烧伤英寸
谢谢!
在活动,延长WearableActivity
并覆盖onEnterAmbientMode
,你在参数有一个包,你可以检索的属性通缉。 (检查此WearableActivity)
@Override
public void onEnterAmbient(Bundle ambientDetails) {
super.onEnterAmbient(ambientDetails);
boolean burnIn = ambientDetails.getBoolean(EXTRA_BURN_IN_PROTECTION);
boolean lowBit = ambientDetails.getBoolean(EXTRA_LOWBIT_AMBIENT);
}
在CanvasWatchFaceService.Engine,重写onPropertiesChanged
:
@Override
public void onPropertiesChanged(Bundle properties) {
super.onPropertiesChanged(properties);
boolean lowBit = properties.getBoolean(PROPERTY_LOW_BIT_AMBIENT, false);
boolean burnIn = properties.getBoolean(PROPERTY_BURN_IN_PROTECTION, false);
}
覆盖onAmbientModeChanged(boolean inAMbientMode)
,它被称为每当从互动的表盘开关至环境模式,反之亦然:
@Override
public void onAmbientModeChanged(boolean inAmbientMode) {
super.onAmbientModeChanged(inAmbientMode);
if (mState.isAmbient() != inAmbientMode) {
mState.setAmbient(inAmbientMode);
//make your updates on your drawing parameters if needed
invalidate();
}
}
这是一个表盘,所以它会在第e CanvasWatchFaceService.Engine。我刚刚尝试过,但不幸的是它不起作用。我相信只有检查才能看到财产本身是否发生了变化;当老化模式实际激活时,它似乎不会启动。 – nope4561759
它通常在表面启动时调用,它表示系统属性。保护烧伤不是一种模式,它是手表屏幕的一个属性,会对环境模式显示造成限制。你的意思是什么不起作用? – Kapouter
调试时,我在'boolean burnIn = properties.getBoolean(PROPERTY_BURN_IN_PROTECTION,false);'上放置了一个断点,然后在表面移位时观察它。中断点没有被触发。这就是我在这里寻找的东西 - 当表面变化时积极告诉我。 – nope4561759