Data Sharing Between Apps
An activity is a collection of windows organized in a layout and sharing a private context. Here is an example of an activity consisting of four windows:
Activities are usually registered as components in the application configuration and can be instantiated either as applications from the toolbar, or programmatically - on demand.
An activity type is a definition template for an activity, consisting of a collection of window types, their layout and an initial activity context.
A window type is a definition of a window, typically configured in the application configuration settings. However, the Activities API allows for an application to dynamically define both - window types and activity types - at runtime.
An activity context is an object containing a set of key/value pairs which hold the current state of an activity - e.g., the currently selected
An activity instance is an instance of an activity type, just like an object is an instance of a class in class-based languages (like "John" is an instance of a "Person"). "Activity" is often used as a synonym for activity instance.
The Activities API enables:
- the definition of window types and activity types (collection of window types, layout and an initial context);
- starting an activity instance of a specific activity type;
- reacting to activity events from an activity-aware window, such as joining and leaving an activity;
- application state synchronization via activity context management functions;
- intra-activity application collaboration via activity Interop extension functions;