在onCreate()方法中注册一个AmbientCallback,如下所示:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
AmbientModeSupport.AmbientCallbackProvider ambientCallbackProvider = new AmbientModeSupport.AmbientCallbackProvider() {
@Override
public AmbientModeSupport.AmbientCallback getAmbientCallback() {
return new AmbientModeSupport.AmbientCallback() {
@Override
public void onEnterAmbient(Bundle ambientDetails) {
super.onEnterAmbient(ambientDetails);
// 在环境模式下执行必要的首选项更改
}
@Override
public void onExitAmbient() {
super.onExitAmbient();
// 在退出环境模式时执行必要的首选项更改
}
@Override
public void onUpdateAmbient() {
super.onUpdateAmbient();
// 更新环境详细信息
}
};
}
};
// 通过AmbientModeSupport.attachAmbientSupport()方法注入AmbientCallbackProvider
AmbientModeSupport.attachAmbientSupport(this, ambientCallbackProvider);
}
这样做可以确保onEnterAmbient()方法在设备进入环境模式时被调用。