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_1212 hour time format | 
| int | FORMAT_2424 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
