3

我正在尝试在 Android Wear 表盘进入环境模式之前触发一些操作。对于活动,有onEnterAmbient()可覆盖的方法,但我相信墙纸服务并非如此。

那么,有什么方法可以在表盘进入环境模式之前触发表盘上的动作?

编辑:特别是,我希望在环境模式有效触发之前检测屏幕何时开始变暗。

4

1 回答 1

2

已编辑。

在 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();
}
于 2015-07-22T19:31:41.603 回答