我正在尝试在 Android Wear 表盘进入环境模式之前触发一些操作。对于活动,有onEnterAmbient()可覆盖的方法,但我相信墙纸服务并非如此。
那么,有什么方法可以在表盘进入环境模式之前触发表盘上的动作?
编辑:特别是,我希望在环境模式有效触发之前检测屏幕何时开始变暗。
我正在尝试在 Android Wear 表盘进入环境模式之前触发一些操作。对于活动,有onEnterAmbient()可覆盖的方法,但我相信墙纸服务并非如此。
那么,有什么方法可以在表盘进入环境模式之前触发表盘上的动作?
编辑:特别是,我希望在环境模式有效触发之前检测屏幕何时开始变暗。
已编辑。
在 CanvasWatchFaceService 上:
private boolean firstAnimation;
@Override
public void onAmbientModeChanged(boolean inAmbientMode) {
super.onAmbientModeChanged(inAmbientMode);
if(inAmbientMode){
firstAnimation = false;
}
invalidate();
}
@Override
public void onDraw(Canvas canvas, Rect bounds) {
if(inAmbientMode){
if(firstAnimation){
// draw ambient mode
}else{
//draw animation and when finish the animation
//set the firstAnimation flag to true
}
}else{
//draw normal mode
}
invalidate();
}