android监听白天黑夜切换
时间: 2023-07-18 15:44:14 浏览: 191
Android高级应用源码-白天黑夜切换实例.zip
要在 Android 中监听白天黑夜切换,可以使用 `UiModeManager` 类。
首先,在需要监听白天黑夜切换的 Activity 中,获取 `UiModeManager` 实例,并注册监听器。
```java
public class MainActivity extends AppCompatActivity {
private UiModeManager uiModeManager;
private UiModeManager.OnUiModeChangedListener onUiModeChangedListener;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 获取 UiModeManager 实例
uiModeManager = (UiModeManager) getSystemService(Context.UI_MODE_SERVICE);
// 创建监听器
onUiModeChangedListener = new UiModeManager.OnUiModeChangedListener() {
@Override
public void onUiModeChanged(int mode) {
switch (mode) {
case UiModeManager.MODE_NIGHT_NO:
// 白天模式
break;
case UiModeManager.MODE_NIGHT_YES:
// 黑夜模式
break;
}
}
};
// 注册监听器
uiModeManager.addOnUiModeChangedListener(onUiModeChangedListener);
}
@Override
protected void onDestroy() {
super.onDestroy();
// 取消注册监听器
uiModeManager.removeOnUiModeChangedListener(onUiModeChangedListener);
}
}
```
这样,当系统切换为白天或黑夜模式时,监听器就会收到通知,并执行相应的操作。注意,在 `onDestroy` 方法中要取消注册监听器,避免内存泄漏。
阅读全文