Tizen Native APIs
You can develop native applications using the native API modules. You can create diverse applications with a variety of features, and design versatile applications and intriguing user interfaces with text and graphics while taking advantage of many device functionalities, such as sensors and call operations. In addition, you can, for example, manage content and media files, use network and social services, and provide messaging and embedded Web browsing functionality.
The Tizen platform also provides a special kind of native application model, which consists of one UI native application and one or more native service applications.
The native API specification consists of multiple API modules that represent the versatility and wide variety of features that you can implement in your native application. Each API module represents a set of logically similar submodule APIs which can be grouped into the same category. This structure was designed to make it easier for you to narrow down and find the specific methods that you require to implement a feature in your native application.
There are two types of submodules - Tizen native modules and open source modules. The integration of open source modules in the native API structure allows you to add additional features by using well-known open source libraries. This is particularly advantageous for developers who are familiar with certain libraries because they can quickly add features and use previously written code in certain cases.
Native API Modules
The following list defines Tizen Native API. The list describes the API modules and the functionality of all their submodule APIs within that module. The list also acts as a reference source for when you are planning a new feature for your application and need a way to efficiently compare different API modules to decide which APIs to use.
Except as noted, the native APIs for mobile are available since Tizen 2.3 and the native APIs for wearable are available since Tizen 2.3.1.
The Account API module features include managing various account information, such as receiving sync operation notifications and obtaining an access token by using the OAuth 2.0 authorization.
API submodule Functionality API reference Guide AccountManager Provides CRUD (Create, Read, Update, Delete) account management functionality. mobile, wearable Account Management FIDO Client Allows you to utilize the device’s available authenticators for online service integration. mobile (since 3.0), wearable (since 3.0) FIDO Universal Authentication Framework OAuth 2.0 Provides an easy way to gain an access token between a server and client. mobile (since 2.4), wearable (since 2.4) OAuth 2.0 Sync Manager Helps applications in scheduling their data sync operations. mobile (since 2.4), wearable (since 2.4) Synchronization Management libOAuth Provides a library for using an open standard for secure authorization. This library enables users to securely log into an account on an application by using their logon credentials from another secondary account that they can have with another account provider or application. mobile, wearable
The Application Framework API contains submodule APIs for application development. The submodule APIs enable application life-cycle management, usage of functionality that is exported by other applications, and access to a user’s application preferences.
API submodule Functionality API reference Guide Application Manages the application’s main event loop, state change events, and basic system events, and gets information about the application. It is also used to launch other applications. mobile, wearable Applications Application Manager Gets information, such as the application ID and path to the shared data directory, of the current application and other installed or running applications. mobile, wearable Application Manager Attach Panel Provides a panel in which users can take pictures, record voice, and select files to attach. mobile (since 2.4) Attach Panel Badge Creates and removes badges on the application’s home screen icon. A badge is an image displayed on the application icon, which informs the user about notifications and events. This submodule can also be used to set and get the badge value and visibility. mobile, wearable Application Icons Bundle Provides a string-based dictionary abstract data type (ADT). A dictionary is an ordered or unordered list of key-element pairs. Keys are used to locate elements in the list. This submodule can be used to create and manage a dictionary. mobile, wearable Data Bundle Data Control Exchanges data between applications by allowing an application to query the public database of another application that has opted to be a data provider. mobile wearable Data Control Message Port Sends and receives small messages between applications without interference from other applications and processes. Each message is a bundle. mobile, wearable Message Port Notification Creates, inserts, and updates notifications so that applications can relay information to users. Visuals, sounds, or vibrations can be used as notifications. mobile, wearable Notifications Package Manager Stores and receives information related to packages installed on the device. This is information can be, for example, the package name, path to the icon image, or the application version. It can also be used to check whether two package certificates match. If they match, they have been created by the same developer and can share resources securely. mobile, wearable Package Manager RPC Port Provides functions to send and receive messages between applications. mobile, wearable RPC Port Service Application Handles Tizen service application (non-UI application) state changes and system events. It is also used to start and exit the main event loop of service applications. mobile, wearable Service Application Shortcut Adds application shortcuts to the device home screen, the main landing screen of the device. mobile Application Icons Watch Application Handles Tizen watch application state changes and system events. It is also used to start and exit the main event loop of watch applications. wearable EFL Watch Application Watchface complication Provides feature to receive and request watchface complication data. It also provides editable management feature to request edit for complication and design elements to editor. wearable Watch Face Complications Widget Handles Tizen widget application state changes and system events. It is also used to start and exit the main event loop of widget applications. mobile (since 2.3.1), wearable EFL Widget Application
The Base API contains submodule APIs for internationalization support and contains various open source libraries.
API submodule Functionality API reference C++ Standard Library Provides a standard C++ library. mobile, wearable Common Error Provides error codes that are common for the whole Tizen API. mobile, wearable Glib Provides low-level libraries and advanced data structures, such as linked lists and hash tables, for use in application development. mobile, wearable Glibc Provides a standard C library. mobile, wearable LibXML Used to parse XML documents, such as the Application Manifest. mobile, wearable Minizip Provides a library to process files in the ZIP format. It can be used to zip, unzip and compress files. mobile, wearable OpenMP Supports shared memory multiprocessing. This can be used for complex tasks on multicore processors. mobile, wearable Sqlite Implements a lightweight SQL relational database. This is widely used for embedded client or local storage. mobile, wearable Utils > i18n Provides internationalization (i18n) support, such as flexibly generating date formats and numbers, depending on the locale setting of the device. mobile, wearable zlib Used for in-memory compression and decompression. mobile (since 2.4), wearable (since 3.0)
The Content API module contains submodule APIs for managing the most common device media data types, such as image, audio, and video files. It provides operations to search for content, search for content information stored on the device, create playlists, download content from servers through an HTTP connection, and access the EXIF information in an image file.
API submodule Functionality API reference Guide Download Creates and manages one or more download requests. Content is downloaded from servers through an HTTP connection. mobile Download MIME Type Maps MIME types to file extensions and vice versa. For example, the
.jpegfile extension is mapped to the
image/jpeg MIMEtype, which is required when using other API modules, such as the AppControl API in the Application submodule API, because it operates with MIME types.
mobile, wearable Metadata Media Content Connects and disconnects from the media content service. This connection is required to insert, update and remove media file information in the media content database. Common media data types, such as image, audio, and video can be managed through the database. Other queries, such as searching for content and content information and accessing EXIF information from image files, are also possible. mobile, wearable Media Content
The Context API module contains submodule APIs to detect user information, such as when a user is running with a device, and device information, such as gestures when a device is tilted.
API submodule Functionality API reference Guide Activity Recognition Detects user activities, such as walking, running, and being in a moving vehicle with a device. mobile, wearable Activity Recognition Contextual History Allows you to query statistics and patterns derived from contextual history data. mobile (since 2.4), wearable (since 4.0) Contextual Device Usage History Data Contextual Trigger Provides a way to define rules, each of which can trigger a specified action when the rule is satisfied. mobile (since 2.4) Contextual System Event Trigger Gesture Recognition Detects user gestures on devices, such as tilt, snap, and double-tap. mobile, wearable Gesture Recognition
The Location API module allows the geographical position of a device to be determined for use with location-based services.
API submodule Functionality API reference Guide GeofenceManager Provides a service related to geofence (geo-fence). mobile (since 2.4) Geofences LocationManager Acquires information about the geographical location of the device. It also allows the receiving of notifications about position changes, velocity changes, and when a given geographical area is left. mobile, wearable Location Information Maps Service Provides a set of functions, helping to create map-aware applications. mobile (since 2.4), wearable (since 2.3.2) Maps and Maps Service
The Messaging API module contains submodule APIs which grant access to the messaging capabilities, such as SMS, MMS and email, of the device.
API submodule Functionality API reference Guide Allows composing, sending, and receiving of email messages. mobile, wearable (since 3.0) Messages Allows composing, sending, and receiving of SMS, MMS, and WAP push messages. mobile, wearable Messages Push Allows receiving of push notifications from a push server. mobile, wearable Push, Push Server
The Multimedia API module contains submodule APIs for easily integrating an application with audio, image, and video files. It can also be used for image editing.
API submodule Functionality API reference Guide Audio I/O Manages the system audio devices by granting access to the hardware layer of the sound card. This API must be used for tasks that require raw audio data buffers in PCM format. mobile, wearable Raw Audio Playback and Recording Camera Accesses the camera preview to display photo previews, focuses images, and captures images. mobile, wearable Camera Image Util Encodes and decodes JPEG images. It also provides tools, such as crop, resize, and rotate, to transform images. mobile, wearable Image Editing, Image Recognition Media Codec Provides interfaces for encoding and decoding audio and video data, such as AAC audio or MPEG-4 AVC video. mobile, wearable Media Conversions Media Controller Provides functions for communication between the media controller server and the media controller client. mobile (since 2.4), wearable (since 3.0) Media Controller Media Demuxer Provides functions for demuxing media data. mobile (since 3.0), wearable (since 3.0) Media Muxing Media Muxer Provides functions for muxing media data. mobile (since 3.0), wearable (since 3.0) Media Muxing Media Streamer Provides functions for building custom pipeline for streaming media. mobile (since 3.0), wearable (since 3.0) Media Stream Playback Media Tool Handles audio and video packet buffers. These buffers are utilized by the other Multimedia submodule APIs. mobile, wearable Media Handle Management, Media Muxing, Media Stream Playback Media Vision Provides functionality for bar code detection and generation. Since 3.0, it also provides functionality for face detection, and tracking and recognition of both images and faces. mobile (since 2.4), wearable (since 3.0) Barcode Detection and Generation Metadata Editor Provides functions for editing the metadata of several popular audio formats. mobile (since 2.4), wearable (since 3.0) Metadata Metadata Extractor Extracts metadata information from an input media file. mobile, wearable Metadata OpenAL Renders multichannel 3D audio. mobile, wearable OpenAL Player Provides functions for media playback and can be used to control media playback attributes. mobile, wearable Media Playback Radio Supports radio usage. This submodule API can be used for tasks, such as starting and stopping the radio and scanning for radio channels. mobile, wearable Radio Recorder Controls the recording of multimedia content. Recording process attributes, such as setting the recording filename and file format, can also be configured with this API submodule. mobile, wearable Media Recording, Media Stream Recording Screen Mirroring Provides functions for screen mirroring as a sink. mobile (since 2.4) Screen Mirroring Sound Manager Provides functions to get and set sound parameters, such as output sound volume. Session policy, such as the handling of sound session interrupts, can also be configured with this API submodule. mobile, wearable Sound Manager Sound Pool Provides functions for easy sound management, such as grouping sounds in pools, handling sound stream playback operations, and controlling stream and pool states. mobile (since 4.0), wearable (since 4.0) Sound pools StreamRecorder Provides functions to record video or audio from a buffer including a media packet. mobile (since 3.0), wearable (since 3.0) Media Stream Recording Thumbnail Util Provides functions for creating the thumbnail from an input media file. mobile (since 2.4), wearable (since 3.0) Thumbnail Images Tone Player Plays and stops tones. mobile (since 2.4), wearable (since 2.4) Media Playback WAV Player Plays and stops Waveform Audio File (WAV) format files. mobile, wearable Media Playback libEXIF Supports an image file format that extends existing formats, such as JPEG and TIFF. Many Tizen devices have a camera and use the EXIF format, and libEXIF can be used to read and write EXIF metainformation to and from image files. mobile, wearable
The Network API module contains submodule APIs, which can be used for data communication. It is responsible for managing connections, maintaining IP addresses, and connecting to the system through Bluetooth, Hypertext Transfer Protocol (HTTP), Near Field Communication (NFC), Sockets, and Wi-Fi. It also provides functions for retrieving information about a specific host from the Internet Domain Name System (DNS).
API submodule Functionality API reference Guide Application Service Platform Provides functions for discovery and session management using the Application Service Platform. mobile (since 4.0), wearable (since 4.0) Bluetooth Manages Bluetooth devices. This involves launching the Bluetooth adapter and discovering, connecting, and bonding with other Bluetooth devices. mobile, wearable Bluetooth Connection Gets network connection information, such as IP address, proxy information, gateway information, connection state, and data transfer statistics. mobile, wearable Connection Manager Curl Provides a client-side URL data transfer library supporting HTTP, HTTPS, FTP, and file URIs, among many other protocols. Curl allows applications to perform URL-related activities without a Web browser. mobile, wearable Curl DNSSD Provides functions for network service discovery using DNSSD. mobile (since 3.0), wearable (since 3.0) Network Service Discovery HTTP Allows you to connect to a Web server to fetch and transmit a Web resource. mobile (since 3.0), wearable (since 3.0) HTTP Intelligent Network Monitoring Provides API to manage monitoring network status. mobile (since 5.0), wearable (since 5.0) INM IoTCon Provides functions for IoT connectivity. mobile, (since 3.0), wearable (since 3.0) IoTCon MTP Manages Media Transfer Protocol (MTP) file transfers between two devices. mobile (since 3.0) MTP NFC Allows management, such as registering and deregistering event listeners, of short-range wireless near field communication (NFC). This submodule API must also be used to read, write, receive, and send NFC messages. mobile, wearable NFC SSDP Provides functions for network service discovery using SSDP. mobile (since 3.0), wearable (since 3.0) Network Service Discovery Smart Traffic Control Provides functions for managing and monitoring network packets. mobile (since 4.0), wearable (since 4.0) STC Smartcard Provides application communication to the SE applet functions. mobile (since 2.3.1), wearable Smartcard SoftAP Consists of SoftAP Manager and SoftAP Client. SoftAP Manager provides functions for managing the SoftAP and SoftAP Client provides functions for getting the information about a connected client. mobile (since 5.0), wearable (since 5.0) SoftAP VPN Service Manages Virtual Private Network (VPN) connections between two VPN devices. mobile (since 3.0) VPN Connections Wi-Fi Manages Wi-Fi connections and monitors the state of Wi-Fi connections. mobile, wearable Wi-Fi Wi-Fi Direct Manages the settings of Wi-Fi Direct. This submodule API also provides functions to connect and disconnect remote devices that use Wi-Fi Direct. mobile Wi-Fi Direct
The Security API module contains submodule APIs which provide basic cryptographic functions, various utility functions through the OpenSSL open source library, and a secure password-protected repository for keys, certificates, and sensitive data.
API submodule Functionality API reference Guide CSR Provides the Content Screening Service to scan the content for data, files, and directories, and the Web Protection Service to protect a device by checking whether a URL the user wants to access is risky. mobile (since 3.0), wearable (since 3.0) CSR Device Certificate Manager Provides cryptography services (digital certificates and keys) for authentication and secure communication with another system. mobile (since 5.0), wearable (since 5.0) Device Certificate Manager Device Policy Manager Provides functions to create security-aware applications that are useful in enterprise settings. mobile (since 3.0), wearable (since 3.0) Device Policy Manager Key Manager Provides functions to store keys, certificates, and sensitive data related to users and their password-protected applications in a secure repository. It also provides cryptographic operations to prevent key value names from being revealed to clients. mobile, wearable Key Manager OpenSSL Provides an open source library that provides basic cryptographic functions and various utility functions. mobile, wearable Privacy Privilege Manager Provides functions for retrieving and determining an application’s permissions for privacy privileges. mobile (since 4.0), wearable (since 4.0) Privacy Privilege Manager Privilege Info Retrieves and displays privilege information. This can be used to show a user the privileges that an application contains when they are downloading it onto their device. This is so that they are aware of the resources which the application may access. mobile, wearable Privilege Information Trusted Execution Framework Provides the TEE Client API as defined by the GlobalPlatform TEE standard for connecting to applications executed in the TrustZone. mobile (since 4.0), wearable (since 4.0) YACA Provides cryptographic functions, such as key management, data integrity, data encryption and decryption, and low-level RSA operations. mobile (since 3.0), wearable (since 3.0) YACA
The Social API module contains submodule APIs to manage personal data, such as contacts and calendars, on a device.
API submodule Functionality API reference Guide Calendar Manages calendars, including events and tasks. It also stores and queries calendar information. mobile, wearable Calendar Contacts Manages phone contact information, such as address books, persons, and phone logs. mobile, wearable Contacts Phonenumber utils Provides functions for parsing and formatting phone numbers. mobile (since 2.4), wearable (since 2.4) Phone Number Management
The System API module contains submodule APIs for system management.
API submodule Functionality API reference Guide Device Controls devices and monitors their status. For example, this submodule API can be used to control and monitor the device battery, display, and LED. mobile, wearable System Information Dlog Sends log output and filters log messages from the dlog logging service. mobile, wearable Feedback Provides functions to play sound or vibration associated with properties. mobile (since 2.4), wearable (since 2.4) Feedback Media key Provides functions to handle media keys from external devices that are connected to the Tizen device, such as the volume control buttons on a headset. mobile, wearable Media Key Runtime information Obtains runtime information from a mobile device. For example, this submodule API can obtain information about the device’s GPS. mobile , wearable Runtime Information Sensor Starts and stops sensors and receives sensor data. mobile, wearable Device Sensors Storage Obtains storage information, such as root directory, storage type (internal or external), storage status, and total available space size. mobile, wearable Data Storage System Information Obtains information about the device, such as the platform and API version, device model, supported device features, and screen dimensions. mobile , wearable System Information System Settings Manages system settings, such as the lock screen settings. mobile, wearable System Settings T-trace Provides functions for writing trace messages to the system trace buffer. mobile (since 2.4), wearable (since 3.0) Tracepoints USB Host Provides direct access to USB devices to communicate with connected devices. mobile (since 3.0) USB Host
The Telephony API module contains a submodule API to enable an application to access the telephony capabilities of the device, such as the call facility (call information and status), the network query services, and the SIM module.
The UI API module contains submodule APIs and open source libraries for 2D and 3D graphics and text.
API submodule Functionality API reference Guide Cairo Provides a library for 2D vector graphics drawing. Vector graphics are advantageous because they have small file sizes and can be scaled to any size without any loss of image quality. Cairo EvasGL APIs have been newly added since 2.3.1. mobile, wearable Cairo Clipboard History Manager Provides copy and paste functionalities for applications. mobile (since 3.0) DALi Provides a cross-platform 3D UI Toolkit for embedded systems. mobile, wearable DALi EFL Provides a collection of libraries that are independent and can be built on top of each other to provide useful features that complement the existing environment. mobile wearable EFL EFL UTIL Gets and sets the priority order of notification windows. mobile, wearable EFL Utilities EFL Extension Enhances the EFL libraries and includes device-specific features (such as support for the hardware Back key). mobile (since 2.3.1), wearable Managing Rotary Events External Output Manager Provides functions for external outputs. mobile (since 2.4), wearable (since 3.0) Fontconfig and Freetype Provides a text rendering library and font-handling library to let applications find a font or closely matching font. mobile, wearable HarfBuzz Provides functions for text shaping. mobile (since 2.4), wearable (since 3.0) Minicontrol Provides functions for creating and displaying an EFL socket window. mobile (since 2.4), wearable (since 5.0) Minicontrol Window OpenGL ES Provides a library for rendering 3D and 2D graphics in embedded systems. mobile (since 4.0), wearable (since 4.0) OpenGL ES SDL Provides a low level hardware abstraction layer to computer multimedia hardware components. It manages video, audio, input devices, threads, and timers. mobile (since 3.0), wearable (since 3.0) SDL TBM Surface Provides functions for the graphics buffer. mobile, wearable Graphic Buffer and Surface Tizen Window System Shell Allows you to communicate with the window manager. mobile (since 3.0), wearable (since 3.0) Tizen Window System Shell UI View Manager Provides functions for application view management. mobile (since 3.0) Vulkan Provides functions for rendering 3D and 2D graphics in embedded systems. mobile (since 3.0), wearable (since 3.0) Vulkan
The UIX API module contains submodule APIs for managing sound data, such as voice commands.
API submodule Functionality API reference Guide Input Method Provides functions for starting the IME application life-cycle, for interacting with the current UI state of the IME, and getting attributes and events. mobile (since 2.4), wearable (since 3.0) Input Method Input Method Manager Provides functions for launching the input method editor (IME) list and selector settings. mobile (since 2.4), wearable (since 3.0) Input Method Multi assistance Provides functions for supporting users to use several assistants. mobile (since 5.0), wearable (since 5.0) Input Method STT Provides functions to recognize speech. mobile, wearable Speech-to-text STT Engine Provides functions for operating the Speech-To-Text engine. mobile (since 3.0), wearable (since 3.0) Speech-to-text TTS Provides functions for synthesizing voice from text and playing synthesized sound data. mobile, wearable Text-to-speech TTS Engine Provides functions for operating the Text-To-Speech engine. mobile (since 3.0), wearable (since 3.0) Text-to-speech Voice control Provides functions for registering commands and getting notifications when a registered command is recognized. mobile (since 2.4), wearable (since 3.0) Voice Control Voice control elementary Provides functions to control UI components through voice commands. mobile (since 2.4), wearable (since 3.0) Voice Control Voice control engine Provides functions to operate Voice-Control Engine. mobile (since 4.0), wearable (since 4.0) Voice Control Voice control manager Provides functions for recording voice and giving responses for recognized voice commands to users. mobile (since 5.0), wearable (since 5.0)
If you have an application based on Tizen 2.3, use the Migration Guide to make it conform to Tizen 2.4 Application Framework APIs.
- Tizen 2.4 and Higher for Mobile
- Tizen 2.3.1 and Higher for Wearable