将android手机的模式更改为日间、夜间、自动

将android手机的模式更改为日间、夜间、自动,android,Android,我可以通过编程方式更改Android手机模式白天、晚上、自动吗?这对我不起作用: UiModeManager manager = (UiModeManager)getSystemService(Context.UI_MODE_SERVICE); manager.setNightMode(UiModeManager.MODE_NIGHT_YES); 我需要在AndroidMaifest.xml中为此设置任何权限吗?我发布了这个问题的答案 如果您决定使用此解决方案,那么您的下一步将是决定如何以及何

我可以通过编程方式更改Android手机模式白天、晚上、自动吗?这对我不起作用:

UiModeManager manager = (UiModeManager)getSystemService(Context.UI_MODE_SERVICE);
manager.setNightMode(UiModeManager.MODE_NIGHT_YES);

我需要在AndroidMaifest.xml中为此设置任何权限吗?

我发布了这个问题的答案

如果您决定使用此解决方案,那么您的下一步将是决定如何以及何时需要切换布局

使用计时器,您可以找到当前时间并检查:

  ViewFlipper vf = (ViewFlipper) findViewById( R.id.viewFlipper );
  if (mCurrentTime == //whatever time you want) {
        vf.showNext();
  }
将此代码放入runnable可以定期检查是否应该使用viewflipper切换到夜间或日间模式。了解如何在中使用viewflipper

但请注意! 如果用户正在使用您的应用程序,例如正在键入一些注释,则布局更改为不同的方案。用户可能会丢失当前活动中的所有进度-因此,除非正确处理,否则不建议进行自动布局更改,如在自动更改发生之前将所有可保存的数据保存到文件中,然后在更改后恢复,以便平稳过渡

以下是一些很棒的链接,也是上面的链接,为您提供了实现自动布局更改的工具:

链接第1部分链接第2部分
设备是处于车载模式还是桌面模式?您好。。。。。我想我得到了这个问题的答案,那就是桌面模式从来没有夜晚/白天。只有在汽车模式下,我们才能做到这一点。。