public class UiModeManager
extends Object
| java.lang.Object | |
| android.app.UiModeManager | |
这个类提供对系统uimode服务的访问。 这些服务允许应用程序控制设备的UI模式。 它提供了禁用汽车模式的功能,并可以访问夜间模式设置。
这些工具建立在底层的ACTION_DOCK_EVENT广播之上,当用户物理地将设备放入和移出扩展坞时发送ACTION_DOCK_EVENT广播。 当发生这种情况时,UiModeManager系统切换Configuration到适当的用户界面模式,将关于模式切换广播,并且如果合适启动相应模式活性。 有关更多信息,请参阅广播ACTION_ENTER_CAR_MODE和ACTION_ENTER_DESK_MODE 。
另外,用户可以手动将系统切换到汽车模式,而无需物理地在坞站中。 在汽车模式下 - 无论是通过用户手动还是物理放置在停靠位置 - 都会显示通知,允许用户退出停靠模式。 因此,此处表示的码头模式可能与底层码头事件广播的当前状态不同。
你不直接实例化这个类; 相反,通过Context.getSystemService(Context.UI_MODE_SERVICE)检索它。
常量(Constants) |
|
|---|---|
int |
DISABLE_CAR_MODE_GO_HOME 与 |
int |
ENABLE_CAR_MODE_ALLOW_SLEEP 与 |
int |
ENABLE_CAR_MODE_GO_CAR_HOME 与 |
int |
MODE_NIGHT_AUTO 常量为 |
int |
MODE_NIGHT_NO 常量为 |
int |
MODE_NIGHT_YES 常量为 |
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) |
|
|---|---|
java.lang.Object
|
|
int DISABLE_CAR_MODE_GO_HOME
与disableCarMode(int)一起使用的disableCarMode(int) :作为禁用的一部分,转到正常的家庭活动。 禁用这种方式可确保当前活动(在汽车模式下)和原始家庭活动(通常最后一次不在汽车模式下运行)之间的清洁过渡。
常数值:1(0x00000001)
int ENABLE_CAR_MODE_ALLOW_SLEEP
与enableCarMode(int)一起使用的enableCarMode(int) :在汽车模式下允许睡眠模式。 默认情况下,如果未设置此标志,则系统可能会保持完整的唤醒锁定,以保持屏幕打开并防止系统在车载模式下进入睡眠模式。 设置此标志将禁用此类行为,并且如果没有其他用户活动并且不存在其他唤醒锁,则系统可以进入睡眠模式。 设置此标志可以与不需要保持屏幕的汽车底座应用程序相关。
常量值:2(0x00000002)
int ENABLE_CAR_MODE_GO_CAR_HOME
与enableCarMode(int)一起使用的enableCarMode(int) :作为启用的一部分,前往汽车之家活动。 通过这种方式,可以确保当前活动(非车模)和汽车之家之间的清洁过渡,这些活动将在汽车模式下作为家庭使用。 即使我们已经处于汽车模式,这将切换到汽车之家的活动。
常数值:1(0x00000001)
int MODE_NIGHT_AUTO
常数为 setNightMode(int)和 getNightMode() :根据时间自动打开和关闭夜间模式。
常量值:0(0x00000000)
int MODE_NIGHT_NO
常量为 setNightMode(int)和 getNightMode() :从不在夜间模式下运行。
常数值:1(0x00000001)
int MODE_NIGHT_YES
常量为 setNightMode(int)和 getNightMode() :始终在夜间模式下运行。
常量值:2(0x00000002)
String ACTION_ENTER_CAR_MODE
当设备的用户界面切换到汽车模式时发送的广播,通过放置在汽车坞站或用户的明确操作。 在发送广播之后,系统将启动类别为CATEGORY_CAR_DOCK的意图ACTION_MAIN以显示汽车UI,这通常是应用程序将实现以提供其自己的接口的应用程序。 但是,应用程序也可以监视此意图,以便通过将广播结果设置为RESULT_CANCELED来获知模式更改或防止显示正常车辆UI。
String ACTION_ENTER_DESK_MODE
当设备的用户界面切换到桌面模式时,通过放置在桌面底座上发送广播。 在发送广播之后,系统将启动类别为CATEGORY_DESK_DOCK的目标ACTION_MAIN以显示桌面UI,这通常是应用程序为实现其自己的界面而实现的。 但是,应用程序也可以监视此Intent,以便通过将广播结果设置为RESULT_CANCELED来获知模式更改或防止显示正常桌面UI。
String ACTION_EXIT_CAR_MODE
当设备的用户界面从车模切换回正常模式时发送广播。 通常由汽车模式应用程序使用,当用户退出汽车模式时退出。
String ACTION_EXIT_DESK_MODE
当设备的用户界面从桌面模式切换回正常模式时发送广播。 通常由桌面模式应用程序使用,当用户退出桌面模式时退出。
void disableCarMode (int flags)
如果当前处于汽车模式,请关闭特殊模式。
| 参数(Parameters) | |
|---|---|
flags |
int: May be 0 or DISABLE_CAR_MODE_GO_HOME. |
void enableCarMode (int flags)
将设备强制进入汽车模式,就像它已经放置在汽车坞站一样。 这将导致设备切换到汽车之家用户界面作为模式切换的一部分。
| 参数(Parameters) | |
|---|---|
flags |
int: Must be 0. |
int getCurrentModeType ()
返回当前的运行模式类型。 可能是一个Configuration.UI_MODE_TYPE_NORMAL , Configuration.UI_MODE_TYPE_DESK , Configuration.UI_MODE_TYPE_CAR , Configuration.UI_MODE_TYPE_TELEVISION , Configuration.UI_MODE_TYPE_APPLIANCE ,或Configuration.UI_MODE_TYPE_WATCH 。
| 返回(Returns) | |
|---|---|
int |
|
int getNightMode ()
返回当前配置的夜间模式。
可能是以下之一:
MODE_NIGHT_NOMODE_NIGHT_YESMODE_NIGHT_AUTO-1 on error| 返回(Returns) | |
|---|---|
int |
the current night mode, or -1 on error |
也可以看看:
void setNightMode (int mode)
设置夜间模式。
该模式可以是以下之一:
MODE_NIGHT_NO sets the device into notnight modeMODE_NIGHT_YES sets the device into night modeMODE_NIGHT_AUTO automatically switches between night and notnight based on the device's current location and certain other sensors注意:在API 22及更低版本中,只有在设备上启用了car或desk模式时,夜间模式的更改才有效。 从API 23开始,对夜间模式的更改始终有效。
| 参数(Parameters) | |
|---|---|
mode |
int: the night mode to set |
也可以看看: