This specification defines interfaces and methods that provide web applications with access to various properties of a system.
This API also provides interfaces and methods that can retrieve statuses of hardware devices, get the value of selected properties, and subscribe to asynchronous notifications of changes for selected values.
Web applications can use this API to access the following system properties:
Not all above properties may be available on every Tizen device. For instance, a device may not support the telephony feature. In that case, CELLULAR_NETWORK and SIM are not available.
To check the available SystemInfoPropertyId, getCapability() method can be used.
For more information on the SystemInfo features, see System Information Guide.
Since: 1.0
The device property identifier.
enum SystemInfoPropertyId { "BATTERY", "CPU", "STORAGE", "DISPLAY", "DEVICE_ORIENTATION", "BUILD", "LOCALE", "NETWORK", "WIFI_NETWORK", "ETHERNET_NETWORK", "CELLULAR_NETWORK", "NET_PROXY_NETWORK", "SIM", "PERIPHERAL", "MEMORY", "VIDEOSOURCE", "CAMERA_FLASH", "ADS","SERVICE_COUNTRY", "SOURCE_INFO", "PANEL" };
Since: 2.0
Remark : CAMERA_FLASH is supported since Tizen 2.4 Remark : ETHERNET_NETWORK is supported since Tizen 2.4 Remark : LOCALE and PERIPHERAL are supported since Tizen 2.1 Remark : MEMORY is supported since Tizen 2.3 Remark : NET_PROXY_NETWORK is supported since Tizen 3.0 Remark : VIDEOSOURCE is supported since Tizen 2.3 Remark : ADS is supported since Tizen 3.0. Not supported on TV Remark : SERVICE_COUNTRY, SOURCE_INFO and PANEL are supported since Tizen 5.5
Data Network Type.
enum SystemInfoNetworkType { "NONE", "2G", "2.5G", "3G", "4G", "WIFI", "ETHERNET", "NET_PROXY", "UNKNOWN" };
Remark : NET_PROXY is supported since Tizen 3.0
Wifi Security Mode.
enum SystemInfoWifiSecurityMode { "NONE", "WEP", "WPA_PSK", "WPA2_PSK", "EAP" };
Since: 2.4
Wifi Encryption Type.
enum SystemInfoWifiEncryptionType { "NONE", "WEP", "TKIP", "AES", "TKIP_AES_MIXED" };
IP configuration types.
enum SystemInfoNetworkIpMode { "NONE", "STATIC", "DYNAMIC", "AUTO", "FIXED" };
Device Orientation Status.
enum SystemInfoDeviceOrientationStatus { "PORTRAIT_PRIMARY", "PORTRAIT_SECONDARY", "LANDSCAPE_PRIMARY", "LANDSCAPE_SECONDARY" };
SystemInfo reports the orientation of the device depending on the type of the device and physical position of the device relative to vertical direction. A "phone type device" is a device for which the portrait position is the natural orientation. A "tab type device" is a device for which the landscape position is basic working orientation.
Sim State.
enum SystemInfoSimState { "ABSENT", "INITIALIZING", "READY", "PIN_REQUIRED", "PUK_REQUIRED", "NETWORK_LOCKED", "SIM_LOCKED", "UNKNOWN" };
Since: 2.1
Deprecated. "MOBILE_FULL" and "MOBILE_WEB" are deprecated since Tizen 2.3 and will be removed in Tizen 3.0. Beginning with Tizen 2.3, "MOBILE" is returned instead of "MOBILE_FULL".
enum SystemInfoProfile { "MOBILE_FULL", "MOBILE_WEB", "MOBILE", "WEARABLE", "TV" };
Since: 2.2
Remark : "MOBILE" and "WEARABLE" are supported since Tizen 2.3 Remark : TV is supported since Tizen 2.3.
The low memory state of a device.
enum SystemInfoLowMemoryStatus { "NORMAL", "WARNING" };
Since: 2.3
An enumerator to indicate the type of video source
enum SystemInfoVideoSourceType { "TV", "AV", "SVIDEO", "COMP", "PC", "HDMI", "SCART", "DVI", "MEDIA" };
Defines what is instantiated by the Tizen object from the Tizen Platform.
[NoInterfaceObject] interface SystemInfoObject { readonly attribute SystemInfo systeminfo; };
Tizen implements SystemInfoObject;
There will be a tizen.systeminfo object that allows accessing the functionality of the SystemInfo API.
This entry interface queries the information of a system.
[NoInterfaceObject] interface SystemInfo { long long getTotalMemory() raises(WebAPIException); long long getAvailableMemory() raises(WebAPIException); SystemInfoDeviceCapability getCapabilities() raises(WebAPIException); any getCapability(DOMString key) raises(WebAPIException); long getCount(SystemInfoPropertyId property) raises(WebAPIException); void getPropertyValue(SystemInfoPropertyId property, SystemInfoPropertySuccessCallback successCallback, optional ErrorCallback? errorCallback) raises(WebAPIException); void getPropertyValueArray(SystemInfoPropertyId property, SystemInfoPropertyArraySuccessCallback successCallback, optional ErrorCallback? errorCallback) raises(WebAPIException); unsigned long addPropertyValueChangeListener(SystemInfoPropertyId property, SystemInfoPropertySuccessCallback successCallback, optional SystemInfoOptions? options, optional ErrorCallback? errorCallback) raises(WebAPIException); unsigned long addPropertyValueArrayChangeListener(SystemInfoPropertyId property, SystemInfoPropertyArraySuccessCallback successCallback, optional SystemInfoOptions? options, optional ErrorCallback? errorCallback) raises(WebAPIException); void removePropertyValueChangeListener(unsigned long listenerId) raises(WebAPIException); };
This API offers methods for retrieving system information and for subscribing notifications of system information changes.
getTotalMemory
Gets the total amount of system memory (in bytes).
long long getTotalMemory();
Return value: long long: Total system memory.
Exceptions:
Code example:
// To get total amount of system memory console.log("The total memory size is " + tizen.systeminfo.getTotalMemory() + " bytes.");
getAvailableMemory
Gets the amount of memory that is not in use (in bytes).
long long getAvailableMemory();
Since: 2.3Return value: long long: Not used memory in bytes.
// To get total amount of system memory console.log("The available memory size is " + tizen.systeminfo.getAvailableMemory() + " bytes.");
getCapabilities
Gets the capabilities of the device.
Deprecated. Deprecated since 2.3. Instead, use getCapability().
SystemInfoDeviceCapability getCapabilities();
The function must synchronously acquire the capabilities of the device.
Return value: SystemInfoDeviceCapability: Capabilities of the device.
var deviceCapabilities; deviceCapabilities = tizen.systeminfo.getCapabilities(); if (deviceCapabilities.bluetooth) { console.log("Bluetooth is supported"); }
getCapability
Gets a device capability related to a given key.
any getCapability(DOMString key);
See the available device capability keys. The additional keys for the custom device capability are specified by OEM's and vendors.
Parameters:
Return value: any: The value of the specified device capability.
try { /* Checks if a device supports Bluetooth API. */ var bluetooth = tizen.systeminfo.getCapability("http://tizen.org/feature/network.bluetooth"); console.log(" Bluetooth = " + bluetooth); } catch (error) { console.log("Error name: " + error.name + ", message: " + error.message); }
getCount
Gets the number of system property information provided for a particular system property.
long getCount(SystemInfoPropertyId property);
That is the length of array retrieved by the getPropertyValueArray() method for the given property.
Return value: long: The number of property values for the given property. If the property is not supported, 0 is returned.
var count = tizen.systeminfo.getCount("SIM"); if (count === 0) { console.log("There is no available SIM card."); } else { console.log("There is(are) " + count + " SIM card(s) available."); }
getPropertyValue
Gets the current value of a specified system property.
void getPropertyValue(SystemInfoPropertyId property, SystemInfoPropertySuccessCallback successCallback, optional ErrorCallback? errorCallback);
The function must asynchronously acquire the current value of the requested property. If it is successful, the successCallback must be invoked with an object containing the information provided by the property.
The ErrorCallback function can be launched with these error types:
Remark : If the given property is not supported, NotSupportedError would be passed through a ErrorCallback() since Tizen 2.3. Remark : If system provides more than one value for the system property, the primary(first) system property is returned through SystemInfoSuccessCallback.
function onSuccessCallback(cpu) { console.log("The cpu load is " + cpu.load); } function onErrorCallback(error) { console.log("An error occurred " + error.message); } tizen.systeminfo.getPropertyValue("CPU", onSuccessCallback, onErrorCallback);
function onSuccessCallback(cellular) { console.log("The status of the cellular network is " + cellular.status); } function onErrorCallback(error) { console.log("An error occurred " + error.message); /* If telephony_capability is false but getPropertyValue("CELLULAR_NETWORK, ...) is called, */ /* NotSupportedError is passed. */ } var telephony_capability = tizen.systeminfo.getCapability("http://tizen.org/feature/network.telephony"); if (telephony_capability === true) { /* onSuccessCallback will be invoked. */ tizen.systeminfo.getPropertyValue("CELLULAR_NETWORK", onSuccessCallback, onErrorCallback); } else { console.log( "Telephony feature is not supported. Cellular network related information cannot be retrieved."); }
getPropertyValueArray
Gets the current values of a specified system property.
void getPropertyValueArray(SystemInfoPropertyId property, SystemInfoPropertyArraySuccessCallback successCallback, optional ErrorCallback? errorCallback);
It is recommended that you check if a device provides one or more than one value for a particular system property via getCount().
If one particular system property is provided on a device, it returns an array containing one SystemInfoProperty object through SystemInfoPropertyArraySuccessCallback method If more than one particular system property is provided, multiple SystemInfoProperty objects are returned.
Remark : See getCount().
function successCB(property) { console.log("The SIM's current state is " + property.state); } function successArrayCB(properties) { console.log("The number of the returned system properties is " + properties.length); for (var i = 0; i < properties.length; i++) { console.log("[" + i + "] SIM's state is " + properties[i].state); } } var count = tizen.systeminfo.getCount("SIM"); if (count === 0) { console.log("This device does not provide SIM card."); } else if (count > 1) { tizen.systeminfo.getPropertyValueArray("SIM", successArrayCB); } else { tizen.systeminfo.getPropertyValue("SIM", successCB); }
addPropertyValueChangeListener
Adds a listener to allow tracking changes in one or more system properties.
unsigned long addPropertyValueChangeListener(SystemInfoPropertyId property, SystemInfoPropertySuccessCallback successCallback, optional SystemInfoOptions? options, optional ErrorCallback? errorCallback);
When called, it immediately returns and then asynchronously starts a watch process defined by the following steps:
There are device properties which are never changed (e.g. "BUILD") and properties which are not changed on some devices (e.g. "DEVICE_ORIENTATION" in Tizen TV device). The addPropertyValueChangeListener() method accepts any identifier of these properties, but the listener added for them will not be invoked.
The errorCallback can be launched with any of these error types:
Remark : The errorCallback() is newly added as an optional parameter since Tizen 2.3.
Return value: unsigned long: An identifier used to clear the watch subscription.
function onSuccessCallback(cpu) { console.log("The cpu load : " + cpu.load); } tizen.systeminfo.addPropertyValueChangeListener("CPU", onSuccessCallback, {lowThreshold: 0.2});
addPropertyValueArrayChangeListener
Adds a listener to allow tracking of changes in one or more values of a system property.
unsigned long addPropertyValueArrayChangeListener(SystemInfoPropertyId property, SystemInfoPropertyArraySuccessCallback successCallback, optional SystemInfoOptions? options, optional ErrorCallback? errorCallback);
There are device properties which never change (for example "BUILD") and properties which do not change on the current platform (for example "DEVICE_ORIENTATION" for some platforms). The addPropertyValueChangeListener() method accepts any identifier of these properties, but the listener added for them will not be invoked.
removePropertyValueChangeListener
Unsubscribes notifications for property changes.
void removePropertyValueChangeListener(unsigned long listenerId);
If a valid listenerId argument is passed that corresponds to an existing subscription, then the watch process must immediately terminate and no further callback is invoked.
var id = null; function onSuccessCallback(cpu) { console.log("New value for CPU load is " + cpu.load); if (id != null) { // After receiving the first notification, clear it tizen.systeminfo.removePropertyValueChangeListener(id); } } id = tizen.systeminfo.addPropertyValueChangeListener("CPU", onSuccessCallback);
SystemInfoDeviceCapability object.
Deprecated. Deprecated since 2.3. Instead, use getCapability() to query device capabilities.
[NoInterfaceObject] interface SystemInfoDeviceCapability { readonly attribute boolean bluetooth; readonly attribute boolean nfc; readonly attribute boolean nfcReservedPush ; readonly attribute unsigned short multiTouchCount; readonly attribute boolean inputKeyboard; readonly attribute boolean inputKeyboardLayout; readonly attribute boolean wifi; readonly attribute boolean wifiDirect; readonly attribute boolean opengles; readonly attribute DOMString openglestextureFormat; readonly attribute boolean openglesVersion1_1; readonly attribute boolean openglesVersion2_0; readonly attribute boolean fmRadio; readonly attribute DOMString platformVersion raises(WebAPIException); readonly attribute DOMString webApiVersion raises(WebAPIException); readonly attribute DOMString nativeApiVersion raises(WebAPIException); readonly attribute DOMString platformName; readonly attribute boolean camera; readonly attribute boolean cameraFront; readonly attribute boolean cameraFrontFlash; readonly attribute boolean cameraBack; readonly attribute boolean cameraBackFlash; readonly attribute boolean location; readonly attribute boolean locationGps; readonly attribute boolean locationWps; readonly attribute boolean microphone; readonly attribute boolean usbHost; readonly attribute boolean usbAccessory; readonly attribute boolean screenOutputRca; readonly attribute boolean screenOutputHdmi; readonly attribute DOMString platformCoreCpuArch; readonly attribute DOMString platformCoreFpuArch; readonly attribute boolean sipVoip; readonly attribute DOMString duid; readonly attribute boolean speechRecognition; readonly attribute boolean speechSynthesis; readonly attribute boolean accelerometer; readonly attribute boolean accelerometerWakeup; readonly attribute boolean barometer; readonly attribute boolean barometerWakeup; readonly attribute boolean gyroscope; readonly attribute boolean gyroscopeWakeup; readonly attribute boolean magnetometer; readonly attribute boolean magnetometerWakeup; readonly attribute boolean photometer; readonly attribute boolean photometerWakeup; readonly attribute boolean proximity; readonly attribute boolean proximityWakeup; readonly attribute boolean tiltmeter; readonly attribute boolean tiltmeterWakeup; readonly attribute boolean dataEncryption; readonly attribute boolean graphicsAcceleration; readonly attribute boolean push; readonly attribute boolean telephony; readonly attribute boolean telephonyMms; readonly attribute boolean telephonySms; readonly attribute boolean screenSizeNormal; readonly attribute boolean screenSize480_800; readonly attribute boolean screenSize720_1280; readonly attribute boolean autoRotation; readonly attribute boolean shellAppWidget; readonly attribute boolean visionImageRecognition; readonly attribute boolean visionQrcodeGeneration; readonly attribute boolean visionQrcodeRecognition; readonly attribute boolean visionFaceRecognition; readonly attribute boolean secureElement; readonly attribute boolean nativeOspCompatible; readonly attribute SystemInfoProfile profile; };
An object containing the various options for fetching the properties requested.
dictionary SystemInfoOptions { unsigned long timeout; double highThreshold; double lowThreshold; };
The highThreshold and lowThreshold values are only applicable to the following SystemInfoPropertyId.
For other cases, it is ignored.
unsigned long timeout
The number of milliseconds beyond which the operation must be interrupted.
double highThreshold
An attribute to indicate that the successCallback() method in the watch
operation will be triggered only if the device property is a number and its value is greater than or equal to this number. This attribute has no effect on the get() method.
**double **
An attribute to indicate that the successCallback() method in the watch operation must be triggered only if the property is a number and its value is lower than or equal to this number.
If both *highThreshold *and *lowThreshold *parameters are specified, the successCallback() is triggered if and only if the property value is either lower than the value of lowThreshold or higher than the value of highThreshold. This attribute has no effect on the get method.
Systeminfo specific success callback.
[Callback=FunctionOnly, NoInterfaceObject] interface SystemInfoPropertySuccessCallback { void onsuccess(SystemInfoProperty property); };
This callback interface specifies a success callback with SystemInfoProperty as input argument. It is used in asynchronous operations, such as getPropertyValue() or addPropertyValueChangeListener().
onsuccess
Function invoked when the asynchronous call completes successfully.
void onsuccess(SystemInfoProperty property);
[Callback=FunctionOnly, NoInterfaceObject] interface SystemInfoPropertyArraySuccessCallback { void onsuccess(SystemInfoProperty[] properties); };
This callback interface specifies a success callback with SystemInfoProperty as input argument. It is used in asynchronous operations, such as getPropertyValueArray() or addPropertyValueArrayChangeListener().
void onsuccess(SystemInfoProperty[] properties);
This is a common abstract interface used by different types of system information objects.
[NoInterfaceObject] interface SystemInfoProperty { };
This property reflects the general state of the system's battery
[NoInterfaceObject] interface SystemInfoBattery : SystemInfoProperty { readonly attribute double level; readonly attribute boolean isCharging; readonly attribute long? timeToDischarge; readonly attribute long? timeToFullCharge; };
Listener notice:
Change listener registered on BATTERY property is triggered on level and isCharging properties change.
This property reflects the state of the CPUs available to this system.
[NoInterfaceObject] interface SystemInfoCpu : SystemInfoProperty { readonly attribute double load; };
This property exposes the data storage devices connected to this system.
[NoInterfaceObject] interface SystemInfoStorage : SystemInfoProperty { readonly attribute SystemInfoStorageUnit[] units; };
This property exposes a single storage device connected to this system.
[NoInterfaceObject] interface SystemInfoStorageUnit : SystemInfoProperty { readonly attribute DOMString type; readonly attribute unsigned long long capacity; readonly attribute unsigned long long availableCapacity; readonly attribute boolean isRemovable; readonly attribute boolean isRemoveable; };
This property reflects the information of the Display.
[NoInterfaceObject] interface SystemInfoDisplay : SystemInfoProperty { readonly attribute unsigned long resolutionWidth; readonly attribute unsigned long resolutionHeight; readonly attribute unsigned long dotsPerInchWidth; readonly attribute unsigned long dotsPerInchHeight; readonly attribute double physicalWidth; readonly attribute double physicalHeight; readonly attribute double brightness; };
Change listener registered on DISPLAY property is triggered on brightness property change.
This property reflects the resolution limits of the panel.
[NoInterfaceObject] interface SystemInfoPanel : SystemInfoProperty { readonly attribute unsigned long panelWidth; readonly attribute unsigned long panelHeight; };
Since: 5.5
Remark : Methods addPropertyValueChangeListener() and addPropertyValueArrayChangeListener() triggers errorCallback with error type NotSupportedError in case of use the PANEL property.
This property reflects the information of the device orientation in this system.
[NoInterfaceObject] interface SystemInfoDeviceOrientation : SystemInfoProperty { readonly attribute SystemInfoDeviceOrientationStatus status; readonly attribute boolean isAutoRotation; };
This property reflects the information of the current device.
[NoInterfaceObject] interface SystemInfoBuild : SystemInfoProperty { readonly attribute DOMString model; readonly attribute DOMString manufacturer; readonly attribute DOMString buildVersion; };
This property reflects the locale information of the current device.
[NoInterfaceObject] interface SystemInfoLocale : SystemInfoProperty { readonly attribute DOMString language; readonly attribute DOMString country; };
This property reflects the information of the data network in this system.
[NoInterfaceObject] interface SystemInfoNetwork : SystemInfoProperty { readonly attribute SystemInfoNetworkType networkType; };
This property reflects the information of the Wi-Fi network in this system.
[NoInterfaceObject] interface SystemInfoWifiNetwork : SystemInfoProperty { readonly attribute DOMString status; readonly attribute DOMString ssid; readonly attribute DOMString ipAddress; readonly attribute DOMString ipv6Address; readonly attribute DOMString macAddress; readonly attribute double signalStrength; readonly attribute SystemInfoWifiSecurityMode securityMode; readonly attribute SystemInfoWifiEncryptionType encryptionType; readonly attribute SystemInfoNetworkIpMode ipMode; readonly attribute DOMString subnetMask; readonly attribute DOMString gateway; readonly attribute DOMString dns; };
Change listener registered on WIFI_NETWORK property is triggered on ipAddress and ipv6Address properties change (the network layer). Those changes could be not consistent with physical layer (status or signalStrength of physical adapter).
According to above constraints, in specific situation the listener could be triggered just before network adapter shutdown and the value of status returned by listener would be outdated.
This property reflects the information of the Ethernet network in this system.
[NoInterfaceObject] interface SystemInfoEthernetNetwork : SystemInfoProperty { readonly attribute DOMString cable; readonly attribute DOMString status; readonly attribute DOMString ipAddress; readonly attribute DOMString ipv6Address; readonly attribute DOMString macAddress; readonly attribute SystemInfoNetworkIpMode ipMode; readonly attribute DOMString subnetMask; readonly attribute DOMString gateway; readonly attribute DOMString dns; };
Change listener registered on ETHERNET_NETWORK property is triggered on ipAddress and ipv6Address properties change (the network layer). Those changes could be not consistent with physical layer (status of physical adapter).
This property reflects the information of the Cellular network in this system.
[NoInterfaceObject] interface SystemInfoCellularNetwork : SystemInfoProperty { readonly attribute DOMString status; readonly attribute DOMString apn; readonly attribute DOMString ipAddress; readonly attribute DOMString ipv6Address; readonly attribute unsigned short mcc; readonly attribute unsigned short mnc; readonly attribute unsigned short cellId; readonly attribute unsigned short lac; readonly attribute boolean isRoaming; readonly attribute boolean isFlightMode; readonly attribute DOMString imei raises(WebAPIException); readonly attribute SystemInfoNetworkIpMode ipMode; readonly attribute DOMString subnetMask; readonly attribute DOMString gateway; readonly attribute DOMString dns; };
Change listener registered on CELLULAR_NETWORK property is triggered on ipAddress, ipv6Address (the network layer), cellId, lac and isFlightMode properties change. Those changes could be not consistent with physical layer (status of physical adapter).
This property reflects the information of the net_proxy network in this system.
[NoInterfaceObject] interface SystemInfoNetProxyNetwork : SystemInfoProperty { readonly attribute DOMString status; };
Since: 3.0
This property reflects the information of the SIM card information.
[NoInterfaceObject] interface SystemInfoSIM : SystemInfoProperty { readonly attribute SystemInfoSimState state raises(WebAPIException); readonly attribute DOMString operatorName raises(WebAPIException); readonly attribute DOMString msisdn raises(WebAPIException); readonly attribute DOMString iccid raises(WebAPIException); readonly attribute unsigned short mcc raises(WebAPIException); readonly attribute unsigned short mnc raises(WebAPIException); readonly attribute DOMString msin raises(WebAPIException); readonly attribute DOMString spn raises(WebAPIException); };
This property reflects the peripheral information of the current device.
[NoInterfaceObject] interface SystemInfoPeripheral : SystemInfoProperty { readonly attribute boolean isVideoOutputOn; };
This property represents information about the memory state on the device system.
[NoInterfaceObject] interface SystemInfoMemory : SystemInfoProperty { readonly attribute SystemInfoLowMemoryStatus status; };
This property reflects each input source the current device has.
[NoInterfaceObject] interface SystemInfoVideoSourceInfo { readonly attribute SystemInfoVideoSourceType type; readonly attribute long number; readonly attribute boolean? signal; };
If there are 2 HDMI inputs on a device, Two SystemInfoVideoSourceInfo objects must be retreived through SystemInfoVideoSource{type=HDMI, number=1}, {type=HDMI, number=2}
This property reflects the video sources the device has.
[NoInterfaceObject] interface SystemInfoVideoSource : SystemInfoProperty { readonly attribute SystemInfoVideoSourceInfo[] connected; readonly attribute SystemInfoVideoSourceInfo[] disconnected; };
The SystemInfoCameraFlash provides the way to control the attached the camera flash.
[NoInterfaceObject] interface SystemInfoCameraFlash : SystemInfoProperty { readonly attribute double brightness raises(WebAPIException); readonly attribute DOMString camera; readonly attribute long levels raises(WebAPIException); void setBrightness(double brightness) raises(WebAPIException); };
readonly double brightness Brightness level of the camera flash (0~1) Since: 2.4 Privilege level: public Privilege: http://tizen.org/privilege/led Exceptions:
tizen.systeminfo.getPropertyValue("CAMERA_FLASH", function (flash) { console.log("Flash brightness is set to: " + (flash.brightness * 100).toFixed(0) + "%"); }, function (error) { console.log("Error, name: " + error.name + ", message: " + error.message); } );
setBrightness
Sets the brightness value of the flash that is located next to the camera.
void setBrightness(double brightness);
If the specified brightness value is not supported by the device, the brightness is rounded down to the nearest supported brightness value.
Privilege level: public
Privilege: http://tizen.org/privilege/led
tizen.systeminfo.getPropertyValue("CAMERA_FLASH", function (flash) { try { flash.setBrightness(1); } catch (error) { console.log("Setting flash brightness failed: " + error.message); } }, function (error) { console.log("Error, name: " + error.name + ", message: " + error.message); } );
This property represents information about advertisement service - ADS.
[NoInterfaceObject] interface SystemInfoADS : SystemInfoProperty { readonly attribute DOMString id; };
This property represents a country of which basic policy of terms and conditions is set.
[NoInterfaceObject] interface SystemInfoServiceCountry : SystemInfoProperty { readonly attribute DOMString serviceCountry; };
Method tizen.systeminfo.getCapability() can be used in application runtime to check whether this API is supported.
To guarantee the running of the application (e.g. track the battery usage) on a device which has a battery, declare the following feature requirements in the config file:
To guarantee the running of the application on a device which has camera back flash and control it, declare the following feature requirements in the config file:
To guarantee the running of the application on a device which supports Ethernet network feature, declare the following feature requirements in the config file:
To guarantee the running of the application on a device which supports network proxy for internet connection, declare the following feature requirements in the config file:
To guarantee the running of the application on a device which supports telephony feature, declare the following feature requirements in the config file:
To guarantee the running of the application on a device which supports Wi-Fi, declare the following feature requirements in the config file:
For more information, see Application Filtering.
module SystemInfo { enum SystemInfoPropertyId { "BATTERY", "CPU", "STORAGE", "DISPLAY", "DEVICE_ORIENTATION", "BUILD", "LOCALE", "NETWORK", "WIFI_NETWORK", "ETHERNET_NETWORK", "CELLULAR_NETWORK", "NET_PROXY_NETWORK", "SIM", "PERIPHERAL", "MEMORY", "VIDEOSOURCE", "CAMERA_FLASH", "ADS", "SERVICE_COUNTRY", "SOURCE_INFO", "PANEL" }; enum SystemInfoNetworkType { "NONE", "2G", "2.5G", "3G", "4G", "WIFI", "ETHERNET", "NET_PROXY", "UNKNOWN" }; enum SystemInfoWifiSecurityMode { "NONE", "WEP", "WPA_PSK", "WPA2_PSK", "EAP" }; enum SystemInfoWifiEncryptionType { "NONE", "WEP", "TKIP", "AES", "TKIP_AES_MIXED" }; enum SystemInfoNetworkIpMode { "NONE", "STATIC", "DYNAMIC", "AUTO", "FIXED" }; enum SystemInfoDeviceOrientationStatus { "PORTRAIT_PRIMARY", "PORTRAIT_SECONDARY", "LANDSCAPE_PRIMARY", "LANDSCAPE_SECONDARY" }; enum SystemInfoSimState { "ABSENT", "INITIALIZING", "READY", "PIN_REQUIRED", "PUK_REQUIRED", "NETWORK_LOCKED", "SIM_LOCKED", "UNKNOWN" }; enum SystemInfoProfile { "MOBILE", "WEARABLE", "TV" }; enum SystemInfoLowMemoryStatus { "NORMAL", "WARNING" }; enum SystemInfoVideoSourceType { "TV", "AV", "SVIDEO", "COMP", "PC", "HDMI", "SCART", "DVI", "MEDIA" }; dictionary SystemInfoOptions { unsigned long timeout; double highThreshold; double lowThreshold; }; Tizen implements SystemInfoObject; [NoInterfaceObject] interface SystemInfoObject { readonly attribute SystemInfo systeminfo; }; [NoInterfaceObject] interface SystemInfo { long long getTotalMemory() raises(WebAPIException); long long getAvailableMemory() raises(WebAPIException); SystemInfoDeviceCapability getCapabilities() raises(WebAPIException); any getCapability(DOMString key) raises(WebAPIException); long getCount(SystemInfoPropertyId property) raises(WebAPIException); void getPropertyValue(SystemInfoPropertyId property, SystemInfoPropertySuccessCallback successCallback, optional ErrorCallback? errorCallback) raises(WebAPIException); void getPropertyValueArray(SystemInfoPropertyId property, SystemInfoPropertyArraySuccessCallback successCallback, optional ErrorCallback? errorCallback) raises(WebAPIException); unsigned long addPropertyValueChangeListener(SystemInfoPropertyId property, SystemInfoPropertySuccessCallback successCallback, optional SystemInfoOptions? options, optional ErrorCallback? errorCallback) raises(WebAPIException); unsigned long addPropertyValueArrayChangeListener(SystemInfoPropertyId property, SystemInfoPropertyArraySuccessCallback successCallback, optional SystemInfoOptions? options, optional ErrorCallback? errorCallback) raises(WebAPIException); void removePropertyValueChangeListener(unsigned long listenerId) raises(WebAPIException); }; }; [Callback=FunctionOnly, NoInterfaceObject] interface SystemInfoPropertySuccessCallback { void onsuccess(SystemInfoProperty property); }; [Callback=FunctionOnly, NoInterfaceObject] interface SystemInfoPropertyArraySuccessCallback { void onsuccess(SystemInfoProperty[] properties); }; [NoInterfaceObject] interface SystemInfoProperty { }; [NoInterfaceObject] interface SystemInfoBattery : SystemInfoProperty { readonly attribute double level; readonly attribute boolean isCharging; readonly attribute long? timeToDischarge; readonly attribute long? timeToFullCharge; }; [NoInterfaceObject] interface SystemInfoCpu : SystemInfoProperty { readonly attribute double load; }; [NoInterfaceObject] interface SystemInfoStorage : SystemInfoProperty { readonly attribute SystemInfoStorageUnit[] units; }; [NoInterfaceObject] interface SystemInfoStorageUnit : SystemInfoProperty { readonly attribute DOMString type; readonly attribute unsigned long long capacity; readonly attribute unsigned long long availableCapacity; readonly attribute boolean isRemovable; }; [NoInterfaceObject] interface SystemInfoDisplay : SystemInfoProperty { readonly attribute unsigned long resolutionWidth; readonly attribute unsigned long resolutionHeight; readonly attribute unsigned long dotsPerInchWidth; readonly attribute unsigned long dotsPerInchHeight; readonly attribute double physicalWidth; readonly attribute double physicalHeight; readonly attribute double brightness; }; [NoInterfaceObject] interface SystemInfoPanel : SystemInfoProperty { readonly attribute unsigned long panelWidth; readonly attribute unsigned long panelHeight; }; [NoInterfaceObject] interface SystemInfoDeviceOrientation : SystemInfoProperty { readonly attribute SystemInfoDeviceOrientationStatus status; readonly attribute boolean isAutoRotation; }; [NoInterfaceObject] interface SystemInfoBuild : SystemInfoProperty { readonly attribute DOMString model; readonly attribute DOMString manufacturer; readonly attribute DOMString buildVersion; }; [NoInterfaceObject] interface SystemInfoLocale : SystemInfoProperty { readonly attribute DOMString language; readonly attribute DOMString country; }; [NoInterfaceObject] interface SystemInfoNetwork : SystemInfoProperty { readonly attribute SystemInfoNetworkType networkType; }; [NoInterfaceObject] interface SystemInfoWifiNetwork : SystemInfoProperty { readonly attribute DOMString status; readonly attribute DOMString ssid; readonly attribute DOMString ipAddress; readonly attribute DOMString ipv6Address; readonly attribute DOMString macAddress; readonly attribute double signalStrength; readonly attribute SystemInfoWifiSecurityMode securityMode; readonly attribute SystemInfoWifiEncryptionType encryptionType; readonly attribute SystemInfoNetworkIpMode ipMode; readonly attribute DOMString subnetMask; readonly attribute DOMString gateway; readonly attribute DOMString dns; }; [NoInterfaceObject] interface SystemInfoEthernetNetwork : SystemInfoProperty { readonly attribute DOMString cable; readonly attribute DOMString status; readonly attribute DOMString ipAddress; readonly attribute DOMString ipv6Address; readonly attribute DOMString macAddress; readonly attribute SystemInfoNetworkIpMode ipMode; readonly attribute DOMString subnetMask; readonly attribute DOMString gateway; readonly attribute DOMString dns; }; [NoInterfaceObject] interface SystemInfoCellularNetwork : SystemInfoProperty { readonly attribute DOMString status; readonly attribute DOMString apn; readonly attribute DOMString ipAddress; readonly attribute DOMString ipv6Address; readonly attribute unsigned short mcc; readonly attribute unsigned short mnc; readonly attribute unsigned short cellId; readonly attribute unsigned short lac; readonly attribute boolean isRoaming; readonly attribute boolean isFlightMode; readonly attribute DOMString imei raises(WebAPIException); readonly attribute SystemInfoNetworkIpMode ipMode; readonly attribute DOMString subnetMask; readonly attribute DOMString gateway; readonly attribute DOMString dns; }; [NoInterfaceObject] interface SystemInfoNetProxyNetwork : SystemInfoProperty { readonly attribute DOMString status; }; [NoInterfaceObject] interface SystemInfoSIM : SystemInfoProperty { readonly attribute SystemInfoSimState state raises(WebAPIException); readonly attribute DOMString operatorName raises(WebAPIException); readonly attribute DOMString msisdn raises(WebAPIException); readonly attribute DOMString iccid raises(WebAPIException); readonly attribute unsigned short mcc raises(WebAPIException); readonly attribute unsigned short mnc raises(WebAPIException); readonly attribute DOMString msin raises(WebAPIException); readonly attribute DOMString spn raises(WebAPIException); }; [NoInterfaceObject] interface SystemInfoPeripheral : SystemInfoProperty { readonly attribute boolean isVideoOutputOn; }; [NoInterfaceObject] interface SystemInfoMemory : SystemInfoProperty { readonly attribute SystemInfoLowMemoryStatus status; }; [NoInterfaceObject] interface SystemInfoVideoSourceInfo { readonly attribute SystemInfoVideoSourceType type; readonly attribute long number; readonly attribute boolean? signal; }; [NoInterfaceObject] interface SystemInfoVideoSource : SystemInfoProperty { readonly attribute SystemInfoVideoSourceInfo[] connected; readonly attribute SystemInfoVideoSourceInfo[] disconnected; }; [NoInterfaceObject] interface SystemInfoCameraFlash : SystemInfoProperty { readonly attribute double brightness raises(WebAPIException); readonly attribute DOMString camera; readonly attribute long levels raises(WebAPIException); void setBrightness(double brightness) raises(WebAPIException); }; [NoInterfaceObject] interface SystemInfoADS : SystemInfoProperty { readonly attribute DOMString id; }; [NoInterfaceObject] interface SystemInfoServiceCountry : SystemInfoProperty { readonly attribute DOMString serviceCountry; };