Most visited

Recently visited

Added in API level 8

UiModeManager

public class UiModeManager
extends Object

java.lang.Object
   ↳ android.app.UiModeManager


这个类提供对系统uimode服务的访问。 这些服务允许应用程序控制设备的UI模式。 它提供了禁用汽车模式的功能,并可以访问夜间模式设置。

这些工具建立在底层的ACTION_DOCK_EVENT广播之上,当用户物理地将设备放入和移出扩展坞时发送ACTION_DOCK_EVENT广播。 当发生这种情况时,UiModeManager系统切换Configuration到适当的用户界面模式,将关于模式切换广播,并且如果合适启动相应模式活性。 有关更多信息,请参阅广播ACTION_ENTER_CAR_MODEACTION_ENTER_DESK_MODE

另外,用户可以手动将系统切换到汽车模式,而无需物理地在坞站中。 在汽车模式下 - 无论是通过用户手动还是物理放置在停靠位置 - 都会显示通知,允许用户退出停靠模式。 因此,此处表示的码头模式可能与底层码头事件广播的当前状态不同。

你不直接实例化这个类; 相反,通过Context.getSystemService(Context.UI_MODE_SERVICE)检索它。

Summary

Constants

int DISABLE_CAR_MODE_GO_HOME

disableCarMode(int)一起使用的 disableCarMode(int) :作为禁用的一部分,转到正常的家庭活动。

int ENABLE_CAR_MODE_ALLOW_SLEEP

enableCarMode(int)一起使用的 enableCarMode(int) :在汽车模式下允许睡眠模式。

int ENABLE_CAR_MODE_GO_CAR_HOME

enableCarMode(int)一起使用的 enableCarMode(int) :作为启用的一部分,去汽车之家活动。

int MODE_NIGHT_AUTO

常量为 setNightMode(int)getNightMode() :根据时间自动打开和关闭夜间模式。

int MODE_NIGHT_NO

常量为 setNightMode(int)getNightMode() :从不在夜间模式下运行。

int MODE_NIGHT_YES

常量为 setNightMode(int)getNightMode() :始终在夜间模式下运行。

Fields

public static String ACTION_ENTER_CAR_MODE

当设备的用户界面切换到汽车模式时发送的广播,通过放置在汽车坞站或用户的明确操作。

public static String ACTION_ENTER_DESK_MODE

当设备的用户界面切换到桌面模式时,通过放置在桌面底座上发送广播。

public static String ACTION_EXIT_CAR_MODE

当设备的用户界面从车模切换回正常模式时发送广播。

public static String ACTION_EXIT_DESK_MODE

当设备的用户界面从桌面模式切换回正常模式时发送广播。

Public methods

void disableCarMode(int flags)

如果当前处于汽车模式,请关闭特殊模式。

void enableCarMode(int flags)

将设备强制进入汽车模式,就像它已经放置在汽车坞站一样。

int getCurrentModeType()

返回当前的运行模式类型。

int getNightMode()

返回当前配置的夜间模式。

void setNightMode(int mode)

设置夜间模式。

Inherited methods

From class java.lang.Object

Constants

DISABLE_CAR_MODE_GO_HOME

Added in API level 8
int DISABLE_CAR_MODE_GO_HOME

disableCarMode(int)一起使用的disableCarMode(int) :作为禁用的一部分,转到正常的家庭活动。 禁用这种方式可确保当前活动(在汽车模式下)和原始家庭活动(通常最后一次不在汽车模式下运行)之间的清洁过渡。

常数值:1(0x00000001)

ENABLE_CAR_MODE_ALLOW_SLEEP

Added in API level 21
int ENABLE_CAR_MODE_ALLOW_SLEEP

enableCarMode(int)一起使用的enableCarMode(int) :在汽车模式下允许睡眠模式。 默认情况下,如果未设置此标志,则系统可能会保持完整的唤醒锁定,以保持屏幕打开并防止系统在车载模式下进入睡眠模式。 设置此标志将禁用此类行为,并且如果没有其他用户活动并且不存在其他唤醒锁,则系统可以进入睡眠模式。 设置此标志可以与不需要保持屏幕的汽车底座应用程序相关。

常量值:2(0x00000002)

ENABLE_CAR_MODE_GO_CAR_HOME

Added in API level 8
int ENABLE_CAR_MODE_GO_CAR_HOME

enableCarMode(int)一起使用的enableCarMode(int) :作为启用的一部分,前往汽车之家活动。 通过这种方式,可以确保当前活动(非车模)和汽车之家之间的清洁过渡,这些活动将在汽车模式下作为家庭使用。 即使我们已经处于汽车模式,这将切换到汽车之家的活动。

常数值:1(0x00000001)

MODE_NIGHT_AUTO

Added in API level 8
int MODE_NIGHT_AUTO

常数为 setNightMode(int)getNightMode() :根据时间自动打开和关闭夜间模式。

常量值:0(0x00000000)

MODE_NIGHT_NO

Added in API level 8
int MODE_NIGHT_NO

常量为 setNightMode(int)getNightMode() :从不在夜间模式下运行。

常数值:1(0x00000001)

MODE_NIGHT_YES

Added in API level 8
int MODE_NIGHT_YES

常量为 setNightMode(int)getNightMode() :始终在夜间模式下运行。

常量值:2(0x00000002)

Fields

ACTION_ENTER_CAR_MODE

Added in API level 8
String ACTION_ENTER_CAR_MODE

当设备的用户界面切换到汽车模式时发送的广播,通过放置在汽车坞站或用户的明确操作。 在发送广播之后,系统将启动类别为CATEGORY_CAR_DOCK的意图ACTION_MAIN以显示汽车UI,这通常是应用程序将实现以提供其自己的接口的应用程序。 但是,应用程序也可以监视此意图,以便通过将广播结果设置为RESULT_CANCELED来获知模式更改或防止显示正常车辆UI。

ACTION_ENTER_DESK_MODE

Added in API level 8
String ACTION_ENTER_DESK_MODE

当设备的用户界面切换到桌面模式时,通过放置在桌面底座上发送广播。 在发送广播之后,系统将启动类别为CATEGORY_DESK_DOCK的目标ACTION_MAIN以显示桌面UI,这通常是应用程序为实现其自己的界面而实现的。 但是,应用程序也可以监视此Intent,以便通过将广播结果设置为RESULT_CANCELED来获知模式更改或防止显示正常桌面UI。

ACTION_EXIT_CAR_MODE

Added in API level 8
String ACTION_EXIT_CAR_MODE

当设备的用户界面从车模切换回正常模式时发送广播。 通常由汽车模式应用程序使用,当用户退出汽车模式时退出。

ACTION_EXIT_DESK_MODE

Added in API level 8
String ACTION_EXIT_DESK_MODE

当设备的用户界面从桌面模式切换回正常模式时发送广播。 通常由桌面模式应用程序使用,当用户退出桌面模式时退出。

Public methods

disableCarMode

Added in API level 8
void disableCarMode (int flags)

如果当前处于汽车模式,请关闭特殊模式。

Parameters
flags int: May be 0 or DISABLE_CAR_MODE_GO_HOME.

enableCarMode

Added in API level 8
void enableCarMode (int flags)

将设备强制进入汽车模式,就像它已经放置在汽车坞站一样。 这将导致设备切换到汽车之家用户界面作为模式切换的一部分。

Parameters
flags int: Must be 0.

getCurrentModeType

Added in API level 8
int getCurrentModeType ()

返回当前的运行模式类型。 可能是一个Configuration.UI_MODE_TYPE_NORMALConfiguration.UI_MODE_TYPE_DESKConfiguration.UI_MODE_TYPE_CARConfiguration.UI_MODE_TYPE_TELEVISIONConfiguration.UI_MODE_TYPE_APPLIANCE ,或Configuration.UI_MODE_TYPE_WATCH

Returns
int

getNightMode

Added in API level 8
int getNightMode ()

返回当前配置的夜间模式。

可能是以下之一:

Returns
int the current night mode, or -1 on error

也可以看看:

setNightMode

Added in API level 8
void setNightMode (int mode)

设置夜间模式。

该模式可以是以下之一:

  • MODE_NIGHT_NO sets the device into notnight mode
  • MODE_NIGHT_YES sets the device into night mode
  • MODE_NIGHT_AUTO automatically switches between night and notnight based on the device's current location and certain other sensors

注意:在API 22及更低版本中,只有在设备上启用了cardesk模式时,夜间模式的更改才有效。 从API 23开始,对夜间模式的更改始终有效。

Parameters
mode int: the night mode to set

也可以看看: