Summary: Nested Classes | Constants | Inherited Constants | Ctors | Methods | Inherited Methods | [Expand All]

# WatchFaceService

`public abstract class WatchFaceService`
`` `` `` `` `extends WallpaperService` ``

java.lang.Object
↳ | android.content.Context
| ↳ | android.content.ContextWrapper
|  | ↳ | android.app.Service
|  |  | ↳ | android.service.wallpaper.WallpaperService
|  |  |  | ↳ | android.support.wearable.watchface.WatchFaceService

Known Direct Subclasses CanvasWatchFaceService, Gles2WatchFaceService
CanvasWatchFaceService | Base class for watch faces that draw on a `Canvas`.
Gles2WatchFaceService | Base class for watch faces that draw using OpenGL ES 2.0.

A subclass of `WallpaperService` with a `WallpaperService.Engine` that exposes callbacks for the lifecycle of a watch face. If you want to create a watch face for a wearable, you should use this instead of vanilla `WallpaperService`.

A watch face service, similarly to a wallpaper service, must implement only one method: `onCreateEngine()`. However, it must also create a subclass of inner class `WatchFaceService.Engine`. Most watch face engines will implement the following methods:

- `onTimeTick()` to update the time and refresh the view
- `onAmbientModeChanged(boolean)` to update ambient mode and refresh the view

Most watch face engines will also implement `onInterruptionFilterChanged(int)` to update the view depending on how much information the user has requested.

For updates that occur in ambient mode a wake lock will be held so the device doesn't go to sleep until the watch face finishes drawing.

Registering watch faces in your application works similarly to registering wallpapers with several additional steps. First, watch faces require the wake lock permission:

     <uses-permission android:name="android.permission.WAKE_LOCK" />

Second, your watch face service declaration needs preview metadata:

     <meta-data
         android:name="com.google.android.wearable.watchface.preview"
         android:resource="@drawable/preview_face" />
     <meta-data
         android:name="com.google.android.wearable.watchface.preview_circular"
         android:resource="@drawable/preview_face_circular" />

Finally, you need to add a special intent filter, so your watch face can be detected:

     <intent-filter>
         <action android:name="android.service.wallpaper.WallpaperService" />
         <category
             android:name="com.google.android.wearable.watchface.category.WATCH_FACE" />
     </intent-filter>

For more information consult: https://developer.android.com/training/wearables/watch-faces/index.html

## Summary

### Nested classes
`class` | `WatchFaceService.Engine` The actual implementation of a watch face.
`@interface` | `WatchFaceService.TapType`

### Constants
`int` | `INTERRUPTION_FILTER_ALARMS` Returned by `getInterruptionFilter()` and passed to `onInterruptionFilterChanged(int)`.
`int` | `INTERRUPTION_FILTER_ALL` Returned by `getInterruptionFilter()` and passed to `onInterruptionFilterChanged(int)`.
`int` | `INTERRUPTION_FILTER_NONE` Returned by `getInterruptionFilter()` and passed to `onInterruptionFilterChanged(int)`.
`int` | `INTERRUPTION_FILTER_PRIORITY` Returned by `getInterruptionFilter()` and passed to `onInterruptionFilterChanged(int)`.
`int` | `INTERRUPTION_FILTER_UNKNOWN` Returned by `getInterruptionFilter()` and passed to `onInterruptionFilterChanged(int)`.
`String` | `PROPERTY_BURN_IN_PROTECTION` Property in bundle passed to `onPropertiesChanged(Bundle)` to indicate whether burn-in protection is required.
`String` | `PROPERTY_LOW_BIT_AMBIENT` Property in bundle passed to `onPropertiesChanged(Bundle)` to indicate whether the device has low-bit ambient mode.
`int` | `TAP_TYPE_TAP` Used in onTapCommaned to indicate that an "up" event on the watch face has occurred that has not been consumed by another activity.
`int` | `TAP_TYPE_TOUCH` Used in onTapCommand to indicate a "down" touch event on the watch face.
`int` | `TAP_TYPE_TOUCH_CANCEL` Used in onTapCaommand to indicate that a previous TAP_TYPE_TOUCH touch event has been canceled.

### Inherited constants
From class `android.service.wallpaper.WallpaperService`
`String` | `SERVICE_INTERFACE`
`String` | `SERVICE_META_DATA`
From class `android.app.Service`
`int` | `START_CONTINUATION_MASK`
`int` | `START_FLAG_REDELIVERY`
`int` | `START_FLAG_RETRY`
`int` | `START_NOT_STICKY`
`int` | `START_REDELIVER_INTENT`
`int` | `START_STICKY`
`int` | `START_STICKY_COMPATIBILITY`
`int` | `START_TASK_REMOVED_COMPLETE`
`int` | `STOP_FOREGROUND_DETACH`
`int` | `STOP_FOREGROUND_REMOVE`
From class `android.content.Context`
`String` | `ACCESSIBILITY_SERVICE`
`String` | `ACCOUNT_SERVICE`
`String` | `ACTIVITY_SERVICE`
`String` | `ALARM_SERVICE`
`String` | `APPWIDGET_SERVICE`
`String` | `APP_OPS_SERVICE`
`String` | `AUDIO_SERVICE`
`String` | `BACKUP_SERVICE`
`String` | `BATTERY_SERVICE`
`int` | `BIND_ABOVE_CLIENT`
`int` | `BIND_ADJUST_WITH_ACTIVITY`
`int` | `BIND_ALLOW_OOM_MANAGEMENT`
`int` | `BIND_AUTO_CREATE`
`int` | `BIND_DEBUG_UNBIND`
`int` | `BIND_EXTERNAL_SERVICE`
`int` | `BIND_FOREGROUND_SERVICE`
`int` | `BIND_FOREGROUND_SERVICE_WHILE_AWAKE`
`int` | `BIND_IMPORTANT`
`int` | `BIND_NOT_FOREGROUND`
`int` | `BIND_NOT_VISIBLE`
`int` | `BIND_SHOWING_UI`
`int` | `BIND_TREAT_LIKE_ACTIVITY`
`int` | `BIND_VISIBLE`
`int` | `BIND_WAIVE_PRIORITY`
`String` | `BLUETOOTH_SERVICE`
`String` | `CAMERA_SERVICE`
`String` | `CAPTIONING_SERVICE`
`String` | `CARRIER_CONFIG_SERVICE`
`String` | `CLIPBOARD_SERVICE`
`String` | `CONNECTIVITY_SERVICE`
`String` | `CONSUMER_IR_SERVICE`
`String` | `CONTEXTHUB_SERVICE`
`int` | `CONTEXT_CREDENTIAL_PROTECTED_STORAGE`
`int` | `CONTEXT_DEVICE_PROTECTED_STORAGE`
`int` | `CONTEXT_IGNORE_SECURITY`
`int` | `CONTEXT_INCLUDE_CODE`
`int` | `CONTEXT_REGISTER_PACKAGE`
`int` | `CONTEXT_RESTRICTED`
`String` | `COUNTRY_DETECTOR`
`String` | `DEVICE_IDLE_CONTROLLER`
`String` | `DEVICE_POLICY_SERVICE`
`String` | `DISPLAY_SERVICE`
`String` | `DOWNLOAD_SERVICE`
`String` | `DROPBOX_SERVICE`
`String` | `ETHERNET_SERVICE`
`String` | `FINGERPRINT_SERVICE`
`String` | `HARDWARE_PROPERTIES_SERVICE`
`String` | `HDMI_CONTROL_SERVICE`
`String` | `INPUT_METHOD_SERVICE`
`String` | `INPUT_SERVICE`
`String` | `JOB_SCHEDULER_SERVICE`
`String` | `KEYGUARD_SERVICE`
`String` | `LAUNCHER_APPS_SERVICE`
`String` | `LAYOUT_INFLATER_SERVICE`
`String` | `LOCATION_SERVICE`
`String` | `MEDIA_PROJECTION_SERVICE`
`String` | `MEDIA_ROUTER_SERVICE`
`String` | `MEDIA_SESSION_SERVICE`
`String` | `MIDI_SERVICE`
`int` | `MODE_APPEND`
`int` | `MODE_ENABLE_WRITE_AHEAD_LOGGING`
`int` | `MODE_MULTI_PROCESS`
`int` | `MODE_NO_LOCALIZED_COLLATORS`
`int` | `MODE_PRIVATE`
`int` | `MODE_WORLD_READABLE`
`int` | `MODE_WORLD_WRITEABLE`
`String` | `NETWORKMANAGEMENT_SERVICE`
`String` | `NETWORK_POLICY_SERVICE`
`String` | `NETWORK_SCORE_SERVICE`
`String` | `NETWORK_STATS_SERVICE`
`String` | `NFC_SERVICE`
`String` | `NOTIFICATION_SERVICE`
`String` | `NSD_SERVICE`
`String` | `PERSISTENT_DATA_BLOCK_SERVICE`
`String` | `POWER_SERVICE`
`String` | `PRINT_SERVICE`
`String` | `RADIO_SERVICE`
`String` | `RECOVERY_SERVICE`
`String` | `RESTRICTIONS_SERVICE`
`String` | `SEARCH_SERVICE`
`String` | `SENSOR_SERVICE`
`String` | `SERIAL_SERVICE`
`String` | `SHORTCUT_SERVICE`
`String` | `SIP_SERVICE`
`String` | `SOUND_TRIGGER_SERVICE`
`String` | `STATUS_BAR_SERVICE`
`String` | `STORAGE_SERVICE`
`String` | `SYSTEM_HEALTH_SERVICE`
`String` | `TELECOM_SERVICE`
`String` | `TELEPHONY_SERVICE`
`String` | `TELEPHONY_SUBSCRIPTION_SERVICE`
`String` | `TEXT_SERVICES_MANAGER_SERVICE`
`String` | `TRUST_SERVICE`
`String` | `TV_INPUT_SERVICE`
`String` | `UI_MODE_SERVICE`
`String` | `UPDATE_LOCK_SERVICE`
`String` | `USAGE_STATS_SERVICE`
`String` | `USB_SERVICE`
`String` | `USER_SERVICE`
`String` | `VIBRATOR_SERVICE`
`String` | `VOICE_INTERACTION_MANAGER_SERVICE`
`String` | `WALLPAPER_SERVICE`
`String` | `WIFI_NAN_SERVICE`
`String` | `WIFI_P2P_SERVICE`
`String` | `WIFI_RTT_SERVICE`
`String` | `WIFI_SCANNING_SERVICE`
`String` | `WIFI_SERVICE`
`String` | `WINDOW_SERVICE`
From interface `android.content.ComponentCallbacks2`
`int` | `TRIM_MEMORY_BACKGROUND`
`int` | `TRIM_MEMORY_COMPLETE`
`int` | `TRIM_MEMORY_MODERATE`
`int` | `TRIM_MEMORY_RUNNING_CRITICAL`
`int` | `TRIM_MEMORY_RUNNING_LOW`
`int` | `TRIM_MEMORY_RUNNING_MODERATE`
`int` | `TRIM_MEMORY_UI_HIDDEN`

### Public constructors
`WatchFaceService()`

### Public methods
`abstract WatchFaceService.Engine` | `onCreateEngine()`

### Inherited methods
From class `android.service.wallpaper.WallpaperService`
`void` | `dump(FileDescriptor arg0, PrintWriter arg1, String[] arg2)`
`final IBinder` | `onBind(Intent arg0)`
`void` | `onCreate()`
`abstract WallpaperService.Engine` | `onCreateEngine()`
`void` | `onDestroy()`
From class `android.app.Service`
`final void` | `attach(Context arg0, ActivityThread arg1, String arg2, IBinder arg3, Application arg4, Object arg5)`
`void` | `dump(FileDescriptor arg0, PrintWriter arg1, String[] arg2)`
`final Application` | `getApplication()`
`abstract IBinder` | `onBind(Intent arg0)`
`void` | `onConfigurationChanged(Configuration arg0)`
`void` | `onCreate()`
`void` | `onDestroy()`
`void` | `onLowMemory()`
`void` | `onRebind(Intent arg0)`
`void` | `onStart(Intent arg0, int arg1)`
`int` | `onStartCommand(Intent arg0, int arg1, int arg2)`
`void` | `onTaskRemoved(Intent arg0)`
`void` | `onTrimMemory(int arg0)`
`boolean` | `onUnbind(Intent arg0)`
`final void` | `setForeground(boolean arg0)`
`final void` | `startForeground(int arg0, Notification arg1)`
`final void` | `stopForeground(int arg0)`
`final void` | `stopForeground(boolean arg0)`
`final void` | `stopSelf()`
`final void` | `stopSelf(int arg0)`
`final boolean` | `stopSelfResult(int arg0)`
From class `android.content.ContextWrapper`
`void` | `attachBaseContext(Context arg0)`
`boolean` | `bindService(Intent arg0, ServiceConnection arg1, int arg2)`
`boolean` | `bindServiceAsUser(Intent arg0, ServiceConnection arg1, int arg2, UserHandle arg3)`
`boolean` | `canStartActivityForResult()`
`int` | `checkCallingOrSelfPermission(String arg0)`
`int` | `checkCallingOrSelfUriPermission(Uri arg0, int arg1)`
`int` | `checkCallingPermission(String arg0)`
`int` | `checkCallingUriPermission(Uri arg0, int arg1)`
`int` | `checkPermission(String arg0, int arg1, int arg2, IBinder arg3)`
`int` | `checkPermission(String arg0, int arg1, int arg2)`
`int` | `checkSelfPermission(String arg0)`
`int` | `checkUriPermission(Uri arg0, int arg1, int arg2, int arg3, IBinder arg4)`
`int` | `checkUriPermission(Uri arg0, String arg1, String arg2, int arg3, int arg4, int arg5)`
`int` | `checkUriPermission(Uri arg0, int arg1, int arg2, int arg3)`
`void` | `clearWallpaper()`
`Context` | `createApplicationContext(ApplicationInfo arg0, int arg1)`
`Context` | `createConfigurationContext(Configuration arg0)`
`Context` | `createCredentialProtectedStorageContext()`
`Context` | `createDeviceProtectedStorageContext()`
`Context` | `createDisplayContext(Display arg0)`
`Context` | `createPackageContext(String arg0, int arg1)`
`Context` | `createPackageContextAsUser(String arg0, int arg1, UserHandle arg2)`
`String[]` | `databaseList()`
`boolean` | `deleteDatabase(String arg0)`
`boolean` | `deleteFile(String arg0)`
`boolean` | `deleteSharedPreferences(String arg0)`
`void` | `enforceCallingOrSelfPermission(String arg0, String arg1)`
`void` | `enforceCallingOrSelfUriPermission(Uri arg0, int arg1, String arg2)`
`void` | `enforceCallingPermission(String arg0, String arg1)`
`void` | `enforceCallingUriPermission(Uri arg0, int arg1, String arg2)`
`void` | `enforcePermission(String arg0, int arg1, int arg2, String arg3)`
`void` | `enforceUriPermission(Uri arg0, String arg1, String arg2, int arg3, int arg4, int arg5, String arg6)`
`void` | `enforceUriPermission(Uri arg0, int arg1, int arg2, int arg3, String arg4)`
`String[]` | `fileList()`
`Context` | `getApplicationContext()`
`ApplicationInfo` | `getApplicationInfo()`
`AssetManager` | `getAssets()`
`Context` | `getBaseContext()`
`String` | `getBasePackageName()`
`File` | `getCacheDir()`
`ClassLoader` | `getClassLoader()`
`File` | `getCodeCacheDir()`
`ContentResolver` | `getContentResolver()`
`File` | `getDataDir()`
`File` | `getDatabasePath(String arg0)`
`File` | `getDir(String arg0, int arg1)`
`DisplayAdjustments` | `getDisplayAdjustments(int arg0)`
`File` | `getExternalCacheDir()`
`File[]` | `getExternalCacheDirs()`
`File` | `getExternalFilesDir(String arg0)`
`File[]` | `getExternalFilesDirs(String arg0)`
`File[]` | `getExternalMediaDirs()`
`File` | `getFileStreamPath(String arg0)`
`File` | `getFilesDir()`
`Looper` | `getMainLooper()`
`File` | `getNoBackupFilesDir()`
`File` | `getObbDir()`
`File[]` | `getObbDirs()`
`String` | `getOpPackageName()`
`String` | `getPackageCodePath()`
`PackageManager` | `getPackageManager()`
`String` | `getPackageName()`
`String` | `getPackageResourcePath()`
`Resources` | `getResources()`
`SharedPreferences` | `getSharedPreferences(String arg0, int arg1)`
`SharedPreferences` | `getSharedPreferences(File arg0, int arg1)`
`File` | `getSharedPreferencesPath(String arg0)`
`Object` | `getSystemService(String arg0)`
`String` | `getSystemServiceName(Class<?> arg0)`
`Resources.Theme` | `getTheme()`
`int` | `getThemeResId()`
`int` | `getUserId()`
`Drawable` | `getWallpaper()`
`int` | `getWallpaperDesiredMinimumHeight()`
`int` | `getWallpaperDesiredMinimumWidth()`
`void` | `grantUriPermission(String arg0, Uri arg1, int arg2)`
`boolean` | `isCredentialProtectedStorage()`
`boolean` | `isDeviceProtectedStorage()`
`boolean` | `isRestricted()`
`boolean` | `moveDatabaseFrom(Context arg0, String arg1)`
`boolean` | `moveSharedPreferencesFrom(Context arg0, String arg1)`
`FileInputStream` | `openFileInput(String arg0)`
`FileOutputStream` | `openFileOutput(String arg0, int arg1)`
`SQLiteDatabase` | `openOrCreateDatabase(String arg0, int arg1, SQLiteDatabase.CursorFactory arg2, DatabaseErrorHandler arg3)`
`SQLiteDatabase` | `openOrCreateDatabase(String arg0, int arg1, SQLiteDatabase.CursorFactory arg2)`
`Drawable` | `peekWallpaper()`
`Intent` | `registerReceiver(BroadcastReceiver arg0, IntentFilter arg1)`
`Intent` | `registerReceiver(BroadcastReceiver arg0, IntentFilter arg1, String arg2, Handler arg3)`
`Intent` | `registerReceiverAsUser(BroadcastReceiver arg0, UserHandle arg1, IntentFilter arg2, String arg3, Handler arg4)`
`void` | `removeStickyBroadcast(Intent arg0)`
`void` | `removeStickyBroadcastAsUser(Intent arg0, UserHandle arg1)`
`void` | `revokeUriPermission(Uri arg0, int arg1)`
`void` | `sendBroadcast(Intent arg0, String arg1, int arg2)`
`void` | `sendBroadcast(Intent arg0, String arg1, Bundle arg2)`
`void` | `sendBroadcast(Intent arg0, String arg1)`
`void` | `sendBroadcast(Intent arg0)`
`void` | `sendBroadcastAsUser(Intent arg0, UserHandle arg1, String arg2, int arg3)`
`void` | `sendBroadcastAsUser(Intent arg0, UserHandle arg1)`
`void` | `sendBroadcastAsUser(Intent arg0, UserHandle arg1, String arg2)`
`void` | `sendBroadcastMultiplePermissions(Intent arg0, String[] arg1)`
`void` | `sendOrderedBroadcast(Intent arg0, String arg1, int arg2, BroadcastReceiver arg3, Handler arg4, int arg5, String arg6, Bundle arg7)`
`void` | `sendOrderedBroadcast(Intent arg0, String arg1, BroadcastReceiver arg2, Handler arg3, int arg4, String arg5, Bundle arg6)`
`void` | `sendOrderedBroadcast(Intent arg0, String arg1, Bundle arg2, BroadcastReceiver arg3, Handler arg4, int arg5, String arg6, Bundle arg7)`
`void` | `sendOrderedBroadcast(Intent arg0, String arg1)`
`void` | `sendOrderedBroadcastAsUser(Intent arg0, UserHandle arg1, String arg2, BroadcastReceiver arg3, Handler arg4, int arg5, String arg6, Bundle arg7)`
`void` | `sendOrderedBroadcastAsUser(Intent arg0, UserHandle arg1, String arg2, int arg3, BroadcastReceiver arg4, Handler arg5, int arg6, String arg7, Bundle arg8)`
`void` | `sendOrderedBroadcastAsUser(Intent arg0, UserHandle arg1, String arg2, int arg3, Bundle arg4, BroadcastReceiver arg5, Handler arg6, int arg7, String arg8, Bundle arg9)`
`void` | `sendStickyBroadcast(Intent arg0)`
`void` | `sendStickyBroadcastAsUser(Intent arg0, UserHandle arg1, Bundle arg2)`
`void` | `sendStickyBroadcastAsUser(Intent arg0, UserHandle arg1)`
`void` | `sendStickyOrderedBroadcast(Intent arg0, BroadcastReceiver arg1, Handler arg2, int arg3, String arg4, Bundle arg5)`
`void` | `sendStickyOrderedBroadcastAsUser(Intent arg0, UserHandle arg1, BroadcastReceiver arg2, Handler arg3, int arg4, String arg5, Bundle arg6)`
`void` | `setTheme(int arg0)`
`void` | `setWallpaper(Bitmap arg0)`
`void` | `setWallpaper(InputStream arg0)`
`void` | `startActivities(Intent[] arg0, Bundle arg1)`
`void` | `startActivities(Intent[] arg0)`
`void` | `startActivitiesAsUser(Intent[] arg0, Bundle arg1, UserHandle arg2)`
`void` | `startActivity(Intent arg0)`
`void` | `startActivity(Intent arg0, Bundle arg1)`
`void` | `startActivityAsUser(Intent arg0, Bundle arg1, UserHandle arg2)`
`void` | `startActivityAsUser(Intent arg0, UserHandle arg1)`
`void` | `startActivityForResult(String arg0, Intent arg1, int arg2, Bundle arg3)`
`boolean` | `startInstrumentation(ComponentName arg0, String arg1, Bundle arg2)`
`void` | `startIntentSender(IntentSender arg0, Intent arg1, int arg2, int arg3, int arg4)`
`void` | `startIntentSender(IntentSender arg0, Intent arg1, int arg2, int arg3, int arg4, Bundle arg5)`
`ComponentName` | `startService(Intent arg0)`
`ComponentName` | `startServiceAsUser(Intent arg0, UserHandle arg1)`
`boolean` | `stopService(Intent arg0)`
`boolean` | `stopServiceAsUser(Intent arg0, UserHandle arg1)`
`void` | `unbindService(ServiceConnection arg0)`
`void` | `unregisterReceiver(BroadcastReceiver arg0)`
From class `android.content.Context`
`abstract boolean` | `bindService(Intent arg0, ServiceConnection arg1, int arg2)`
`boolean` | `bindServiceAsUser(Intent arg0, ServiceConnection arg1, int arg2, UserHandle arg3)`
`boolean` | `bindServiceAsUser(Intent arg0, ServiceConnection arg1, int arg2, Handler arg3, UserHandle arg4)`
`boolean` | `canStartActivityForResult()`
`abstract int` | `checkCallingOrSelfPermission(String arg0)`
`abstract int` | `checkCallingOrSelfUriPermission(Uri arg0, int arg1)`
`abstract int` | `checkCallingPermission(String arg0)`
`abstract int` | `checkCallingUriPermission(Uri arg0, int arg1)`
`abstract int` | `checkPermission(String arg0, int arg1, int arg2, IBinder arg3)`
`abstract int` | `checkPermission(String arg0, int arg1, int arg2)`
`abstract int` | `checkSelfPermission(String arg0)`
`abstract int` | `checkUriPermission(Uri arg0, int arg1, int arg2, int arg3, IBinder arg4)`
`abstract int` | `checkUriPermission(Uri arg0, String arg1, String arg2, int arg3, int arg4, int arg5)`
`abstract int` | `checkUriPermission(Uri arg0, int arg1, int arg2, int arg3)`
`abstract void` | `clearWallpaper()`
`abstract Context` | `createApplicationContext(ApplicationInfo arg0, int arg1)`
`abstract Context` | `createConfigurationContext(Configuration arg0)`
`Context` | `createCredentialEncryptedStorageContext()`
`abstract Context` | `createCredentialProtectedStorageContext()`
`Context` | `createDeviceEncryptedStorageContext()`
`abstract Context` | `createDeviceProtectedStorageContext()`
`abstract Context` | `createDisplayContext(Display arg0)`
`abstract Context` | `createPackageContext(String arg0, int arg1)`
`abstract Context` | `createPackageContextAsUser(String arg0, int arg1, UserHandle arg2)`
`abstract String[]` | `databaseList()`
`abstract boolean` | `deleteDatabase(String arg0)`
`abstract boolean` | `deleteFile(String arg0)`
`abstract boolean` | `deleteSharedPreferences(String arg0)`
`abstract void` | `enforceCallingOrSelfPermission(String arg0, String arg1)`
`abstract void` | `enforceCallingOrSelfUriPermission(Uri arg0, int arg1, String arg2)`
`abstract void` | `enforceCallingPermission(String arg0, String arg1)`
`abstract void` | `enforceCallingUriPermission(Uri arg0, int arg1, String arg2)`
`abstract void` | `enforcePermission(String arg0, int arg1, int arg2, String arg3)`
`abstract void` | `enforceUriPermission(Uri arg0, String arg1, String arg2, int arg3, int arg4, int arg5, String arg6)`
`abstract void` | `enforceUriPermission(Uri arg0, int arg1, int arg2, int arg3, String arg4)`
`abstract String[]` | `fileList()`
`abstract Context` | `getApplicationContext()`
`abstract ApplicationInfo` | `getApplicationInfo()`
`abstract AssetManager` | `getAssets()`
`abstract String` | `getBasePackageName()`
`abstract File` | `getCacheDir()`
`abstract ClassLoader` | `getClassLoader()`
`abstract File` | `getCodeCacheDir()`
`final int` | `getColor(int arg0)`
`final ColorStateList` | `getColorStateList(int arg0)`
`abstract ContentResolver` | `getContentResolver()`
`abstract File` | `getDataDir()`
`abstract File` | `getDatabasePath(String arg0)`
`abstract File` | `getDir(String arg0, int arg1)`
`abstract DisplayAdjustments` | `getDisplayAdjustments(int arg0)`
`final Drawable` | `getDrawable(int arg0)`
`abstract File` | `getExternalCacheDir()`
`abstract File[]` | `getExternalCacheDirs()`
`abstract File` | `getExternalFilesDir(String arg0)`
`abstract File[]` | `getExternalFilesDirs(String arg0)`
`abstract File[]` | `getExternalMediaDirs()`
`abstract File` | `getFileStreamPath(String arg0)`
`abstract File` | `getFilesDir()`
`abstract Looper` | `getMainLooper()`
`abstract File` | `getNoBackupFilesDir()`
`abstract File` | `getObbDir()`
`abstract File[]` | `getObbDirs()`
`abstract String` | `getOpPackageName()`
`abstract String` | `getPackageCodePath()`
`abstract PackageManager` | `getPackageManager()`
`abstract String` | `getPackageName()`
`abstract String` | `getPackageResourcePath()`
`abstract Resources` | `getResources()`
`abstract SharedPreferences` | `getSharedPreferences(String arg0, int arg1)`
`abstract SharedPreferences` | `getSharedPreferences(File arg0, int arg1)`
`abstract File` | `getSharedPreferencesPath(String arg0)`
`File` | `getSharedPrefsFile(String arg0)`
`final String` | `getString(int arg0, Object... arg1)`
`final String` | `getString(int arg0)`
`final <T> T` | `getSystemService(Class<T> arg0)`
`abstract Object` | `getSystemService(String arg0)`
`abstract String` | `getSystemServiceName(Class<?> arg0)`
`final CharSequence` | `getText(int arg0)`
`abstract Resources.Theme` | `getTheme()`
`int` | `getThemeResId()`
`abstract int` | `getUserId()`
`abstract Drawable` | `getWallpaper()`
`abstract int` | `getWallpaperDesiredMinimumHeight()`
`abstract int` | `getWallpaperDesiredMinimumWidth()`
`abstract void` | `grantUriPermission(String arg0, Uri arg1, int arg2)`
`boolean` | `isCredentialEncryptedStorage()`
`abstract boolean` | `isCredentialProtectedStorage()`
`boolean` | `isDeviceEncryptedStorage()`
`abstract boolean` | `isDeviceProtectedStorage()`
`boolean` | `isRestricted()`
`boolean` | `migrateDatabaseFrom(Context arg0, String arg1)`
`boolean` | `migrateSharedPreferencesFrom(Context arg0, String arg1)`
`abstract boolean` | `moveDatabaseFrom(Context arg0, String arg1)`
`abstract boolean` | `moveSharedPreferencesFrom(Context arg0, String arg1)`
`final TypedArray` | `obtainStyledAttributes(AttributeSet arg0, int[] arg1)`
`final TypedArray` | `obtainStyledAttributes(AttributeSet arg0, int[] arg1, int arg2, int arg3)`
`final TypedArray` | `obtainStyledAttributes(int arg0, int[] arg1)`
`final TypedArray` | `obtainStyledAttributes(int[] arg0)`
`abstract FileInputStream` | `openFileInput(String arg0)`
`abstract FileOutputStream` | `openFileOutput(String arg0, int arg1)`
`abstract SQLiteDatabase` | `openOrCreateDatabase(String arg0, int arg1, SQLiteDatabase.CursorFactory arg2, DatabaseErrorHandler arg3)`
`abstract SQLiteDatabase` | `openOrCreateDatabase(String arg0, int arg1, SQLiteDatabase.CursorFactory arg2)`
`abstract Drawable` | `peekWallpaper()`
`void` | `registerComponentCallbacks(ComponentCallbacks arg0)`
`abstract Intent` | `registerReceiver(BroadcastReceiver arg0, IntentFilter arg1)`
`abstract Intent` | `registerReceiver(BroadcastReceiver arg0, IntentFilter arg1, String arg2, Handler arg3)`
`abstract Intent` | `registerReceiverAsUser(BroadcastReceiver arg0, UserHandle arg1, IntentFilter arg2, String arg3, Handler arg4)`
`abstract void` | `removeStickyBroadcast(Intent arg0)`
`abstract void` | `removeStickyBroadcastAsUser(Intent arg0, UserHandle arg1)`
`abstract void` | `revokeUriPermission(Uri arg0, int arg1)`
`abstract void` | `sendBroadcast(Intent arg0, String arg1, int arg2)`
`abstract void` | `sendBroadcast(Intent arg0, String arg1, Bundle arg2)`
`abstract void` | `sendBroadcast(Intent arg0, String arg1)`
`abstract void` | `sendBroadcast(Intent arg0)`
`abstract void` | `sendBroadcastAsUser(Intent arg0, UserHandle arg1, String arg2, int arg3)`
`abstract void` | `sendBroadcastAsUser(Intent arg0, UserHandle arg1)`
`abstract void` | `sendBroadcastAsUser(Intent arg0, UserHandle arg1, String arg2)`
`abstract void` | `sendBroadcastMultiplePermissions(Intent arg0, String[] arg1)`
`abstract void` | `sendOrderedBroadcast(Intent arg0, String arg1, int arg2, BroadcastReceiver arg3, Handler arg4, int arg5, String arg6, Bundle arg7)`
`abstract void` | `sendOrderedBroadcast(Intent arg0, String arg1, BroadcastReceiver arg2, Handler arg3, int arg4, String arg5, Bundle arg6)`
`abstract void` | `sendOrderedBroadcast(Intent arg0, String arg1, Bundle arg2, BroadcastReceiver arg3, Handler arg4, int arg5, String arg6, Bundle arg7)`
`abstract void` | `sendOrderedBroadcast(Intent arg0, String arg1)`
`abstract void` | `sendOrderedBroadcastAsUser(Intent arg0, UserHandle arg1, String arg2, BroadcastReceiver arg3, Handler arg4, int arg5, String arg6, Bundle arg7)`
`abstract void` | `sendOrderedBroadcastAsUser(Intent arg0, UserHandle arg1, String arg2, int arg3, BroadcastReceiver arg4, Handler arg5, int arg6, String arg7, Bundle arg8)`
`abstract void` | `sendOrderedBroadcastAsUser(Intent arg0, UserHandle arg1, String arg2, int arg3, Bundle arg4, BroadcastReceiver arg5, Handler arg6, int arg7, String arg8, Bundle arg9)`
`abstract void` | `sendStickyBroadcast(Intent arg0)`
`abstract void` | `sendStickyBroadcastAsUser(Intent arg0, UserHandle arg1, Bundle arg2)`
`abstract void` | `sendStickyBroadcastAsUser(Intent arg0, UserHandle arg1)`
`abstract void` | `sendStickyOrderedBroadcast(Intent arg0, BroadcastReceiver arg1, Handler arg2, int arg3, String arg4, Bundle arg5)`
`abstract void` | `sendStickyOrderedBroadcastAsUser(Intent arg0, UserHandle arg1, BroadcastReceiver arg2, Handler arg3, int arg4, String arg5, Bundle arg6)`
`abstract void` | `setTheme(int arg0)`
`abstract void` | `setWallpaper(Bitmap arg0)`
`abstract void` | `setWallpaper(InputStream arg0)`
`abstract void` | `startActivities(Intent[] arg0, Bundle arg1)`
`abstract void` | `startActivities(Intent[] arg0)`
`void` | `startActivitiesAsUser(Intent[] arg0, Bundle arg1, UserHandle arg2)`
`abstract void` | `startActivity(Intent arg0)`
`abstract void` | `startActivity(Intent arg0, Bundle arg1)`
`void` | `startActivityAsUser(Intent arg0, Bundle arg1, UserHandle arg2)`
`void` | `startActivityAsUser(Intent arg0, UserHandle arg1)`
`void` | `startActivityForResult(String arg0, Intent arg1, int arg2, Bundle arg3)`
`abstract boolean` | `startInstrumentation(ComponentName arg0, String arg1, Bundle arg2)`
`abstract void` | `startIntentSender(IntentSender arg0, Intent arg1, int arg2, int arg3, int arg4)`
`abstract void` | `startIntentSender(IntentSender arg0, Intent arg1, int arg2, int arg3, int arg4, Bundle arg5)`
`abstract ComponentName` | `startService(Intent arg0)`
`abstract ComponentName` | `startServiceAsUser(Intent arg0, UserHandle arg1)`
`abstract boolean` | `stopService(Intent arg0)`
`abstract boolean` | `stopServiceAsUser(Intent arg0, UserHandle arg1)`
`abstract void` | `unbindService(ServiceConnection arg0)`
`void` | `unregisterComponentCallbacks(ComponentCallbacks arg0)`
`abstract void` | `unregisterReceiver(BroadcastReceiver arg0)`
From class `java.lang.Object`
`Object` | `clone()`
`boolean` | `equals(Object arg0)`
`void` | `finalize()`
`final Class<?>` | `getClass()`
`int` | `hashCode()`
`final void` | `notify()`
`final void` | `notifyAll()`
`String` | `toString()`
`final void` | `wait(long arg0, int arg1)`
`final void` | `wait(long arg0)`
`final void` | `wait()`
From interface `android.content.ComponentCallbacks2`
`abstract void` | `onTrimMemory(int arg0)`
From interface `android.content.ComponentCallbacks`
`abstract void` | `onConfigurationChanged(Configuration arg0)`
`abstract void` | `onLowMemory()`

## Constants

### INTERRUPTION_FILTER_ALARMS

    int INTERRUPTION_FILTER_ALARMS

Returned by `getInterruptionFilter()` and passed to `onInterruptionFilterChanged(int)`. This value means that the user requested to only be interrupted by alarms.

Constant Value: 4 (0x00000004)

### INTERRUPTION_FILTER_ALL

    int INTERRUPTION_FILTER_ALL

Returned by `getInterruptionFilter()` and passed to `onInterruptionFilterChanged(int)`. This value means that the user requested to see all notifications.

Constant Value: 1 (0x00000001)

### INTERRUPTION_FILTER_NONE

    int INTERRUPTION_FILTER_NONE

Returned by `getInterruptionFilter()` and passed to `onInterruptionFilterChanged(int)`. This value means that the user requested not to see any notifications.

Constant Value: 3 (0x00000003)

### INTERRUPTION_FILTER_PRIORITY

    int INTERRUPTION_FILTER_PRIORITY

Returned by `getInterruptionFilter()` and passed to `onInterruptionFilterChanged(int)`. This value means that the user requested to see only high priority notifications.

Constant Value: 2 (0x00000002)

### INTERRUPTION_FILTER_UNKNOWN

    int INTERRUPTION_FILTER_UNKNOWN

Returned by `getInterruptionFilter()` and passed to `onInterruptionFilterChanged(int)`. This value means the interruption filter is unavailable.

Constant Value: 0 (0x00000000)

### PROPERTY_BURN_IN_PROTECTION

    String PROPERTY_BURN_IN_PROTECTION

Property in bundle passed to `onPropertiesChanged(Bundle)` to indicate whether burn-in protection is required. When this property is set to true, views are shifted around periodically in ambient mode. To ensure that content isn't shifted off the screen, watch faces should avoid placing content within 10 pixels of the edge of the screen. Watch faces should also avoid solid white areas to prevent pixel burn-in. Both of these requirements only apply in ambient mode, and only when this property is set to true.

Constant Value: "burn_in_protection"

### PROPERTY_LOW_BIT_AMBIENT

    String PROPERTY_LOW_BIT_AMBIENT

Property in bundle passed to `onPropertiesChanged(Bundle)` to indicate whether the device has low-bit ambient mode. When this property is set to true, the screen supports fewer bits for each color in ambient mode. In this case, watch faces should disable anti-aliasing in ambient mode.

Constant Value: "low_bit_ambient"

### TAP_TYPE_TAP

    int TAP_TYPE_TAP

Used in onTapCommaned to indicate that an "up" event on the watch face has occurred that has not been consumed by another activity. A TAP_TYPE_TOUCH will always occur first. This event will not occur if a TAP_TYPE_TOUCH_CANCEL is sent.

Constant Value: 2 (0x00000002)

### TAP_TYPE_TOUCH

    int TAP_TYPE_TOUCH

Used in onTapCommand to indicate a "down" touch event on the watch face.

Constant Value: 0 (0x00000000)

### TAP_TYPE_TOUCH_CANCEL

    int TAP_TYPE_TOUCH_CANCEL

Used in onTapCaommand to indicate that a previous TAP_TYPE_TOUCH touch event has been canceled. This generally happens when the watch face is touched but then a move or long press occurs.

Constant Value: 1 (0x00000001)

## Public constructors

### WatchFaceService

    WatchFaceService ()

## Public methods

### onCreateEngine

    WatchFaceService.Engine onCreateEngine ()

Returns
`WatchFaceService.Engine` |

- ## Annotations

  - WatchFaceService.TapType

- ## Classes

  - CanvasWatchFaceService
  - CanvasWatchFaceService.Engine
  - Gles2WatchFaceService
  - Gles2WatchFaceService.Engine
  - WatchFaceService
  - WatchFaceService.Engine
  - WatchFaceStyle
  - WatchFaceStyle.Builder