TimeManager
public
class
TimeManager
extends Object
java.lang.Object | |
↳ | com.google.android.things.device.TimeManager |
This class provides access to device settings related to time. This includes the following operations:
- Time format (12-hour or 24-hour)
- Time zone
- Auto sync time from a Network Time Protocol (NTP) server
To control device settings using TimeManager
, first request
the permission com.google.android.things.permission.SET_TIME
in your AndroidManifest.xml
, then obtain an instance of the
class and set the properties appropriate for your app.
TimeManager timeManager = TimeManager.getInstance();
// Use 24-hour time
timeManager.setTimeFormat(TimeManager.FORMAT_24);
// Set time zone to Eastern Standard Time
timeManager.setTimeZone("America/New_York");
// Set clock time to noon
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.MILLISECOND, 0);
calendar.set(Calendar.SECOND, 0);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.HOUR_OF_DAY, 12);
long timeStamp = calendar.getTimeInMillis();
timeManager.setTime(timeStamp);
To get the current time or time zone, obtain a Calendar
instance:
Calendar calendar = Calendar.getInstance();
long now = calendar.getTimeInMillis();
TimeZone current = calendar.getTimeZone();
Current values for other time-related settings can be read from
Settings.Global
.
Summary
Constants | |
---|---|
int |
FORMAT_12
12 hour time format |
int |
FORMAT_24
24 hour time format |
Public methods | |
---|---|
static
TimeManager
|
getInstance()
Returns the |
void
|
setAutoTimeEnabled(boolean enabled)
Sets whether or not wall clock time should sync with automatic time updates from NTP. |
void
|
setTime(long millis)
Set the system wall clock time. |
void
|
setTimeFormat(int timeFormat)
Sets the time format for the device. |
void
|
setTimeZone(String timeZone)
Set the system's persistent default time zone. |
Inherited methods | |
---|---|
From
class
java.lang.Object
|
Constants
FORMAT_12
int FORMAT_12
12 hour time format
Constant Value: 12 (0x0000000c)
FORMAT_24
int FORMAT_24
24 hour time format
Constant Value: 24 (0x00000018)
Public methods
getInstance
TimeManager getInstance ()
Returns the TimeManager
instance for this application.
Returns | |
---|---|
TimeManager |
The TimeManager instance. |
setAutoTimeEnabled
void setAutoTimeEnabled (boolean enabled)
Sets whether or not wall clock time should sync with automatic time updates from NTP.
Parameters | |
---|---|
enabled |
boolean : if true, automatic time updates are enabled. |
Throws | |
---|---|
IllegalStateException |
if the underlying system service is not ready |
RuntimeException |
if the underlying system service encountered an error |
SecurityException |
if the calling context does not have com.google.android.things.permission.SET_TIME permission |
setTime
void setTime (long millis)
Set the system wall clock time. This method does not guarantee persistence past reboot. This method also disables automatic time updates from NTP.
Parameters | |
---|---|
millis |
long : time in milliseconds since the Unix Epoch |
Throws | |
---|---|
IllegalStateException |
if the underlying system service is not ready |
RuntimeException |
if the underlying system service encountered an error |
SecurityException |
if the calling context does not have com.google.android.things.permission.SET_TIME permission |
setTimeFormat
void setTimeFormat (int timeFormat)
Sets the time format for the device. This should be either FORMAT_12 or FORMAT_24.
Parameters | |
---|---|
timeFormat |
int : the timeFormat to be set |
Throws | |
---|---|
IllegalStateException |
if the underlying system service is not ready |
RemoteException |
if the underlying system service encountered an error |
SecurityException |
if the calling context does not have com.google.android.things.permission.SET_TIME permission |
setTimeZone
void setTimeZone (String timeZone)
Set the system's persistent default time zone. This sets the time zone for all apps, even after reboot.
Parameters | |
---|---|
timeZone |
String : one of the Olson ids from the list returned by TimeZone.getAvailableIDs() |
Throws | |
---|---|
IllegalStateException |
if the underlying system service is not ready |
RuntimeException |
if the underlying system service encountered an error |
SecurityException |
if the calling context does not have com.google.android.things.permission.SET_TIME permission |
Classes