tile that will be displayed in Quick Settings. • A tile in Quick Settings exists as an icon with an accompanied label. • It also may have content description for accessibility usability. • The style and layout of the tile may change to match a given device.
A TileService provides the user a tile that can be added to Quick Settings. • Quick Settings is a space provided that allows the user to change settings and take quick actions without leaving the context of their current app.
the TileService is different from the other services. • It may be unbound during parts of its lifecycle. ❏ When a tile is added by the user its TileService will be bound to and onTileAdded() will be called. ❏ When a tile should be up to date and listing will be indicated by onStartListening() and onStopListening(). ❏ When the user removes a tile from Quick Settings onTileRemoved() will be called.
an app can be in the paused state and still be visible to the user. • An app might need to continue its activities even while paused. For example, a video-playing app that is in paused mode but is visible should continue showing its video. • For this reason, Google recommend that activities that play video not pause the video in their onPause() handlers. Instead, they should pause video in onStop(), and resume playback in onStart(). Source: https://developer.android.com/preview/features/multi-window.html#running
configuration changes correctly 3. Handle all orientations 4. Build a responsive UI for all screen sizes 5. Activities started by other apps must always support multi-window By: Ian Lake (Android Developer Advocate at Google)