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.
The following provides an overview of the tree data structure:
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, tizen.systeminfo.getCapability() can be used.
For more information on the SystemInfo features, see System Information Guide.
Since: 1.0
enum SystemInfoPropertyId { "BATTERY" , "CPU", "STORAGE", "DISPLAY", "DEVICE_ORIENTATION", "BUILD", "LOCALE", "NETWORK", "WIFI_NETWORK", "CELLULAR_NETWORK", "SIM", "PERIPHERAL", "MEMORY" };
Since: 2.0
Remark : LOCALE and PERIPHERAL are supported since Tizen 2.1
Remark : MEMORY is supported since Tizen 2.3
enum SystemInfoNetworkType { "NONE", "2G", "2.5G", "3G", "4G", "WIFI", "ETHERNET", "UNKNOWN" };
Since: 2.0
enum SystemInfoDeviceOrientationStatus { "PORTRAIT_PRIMARY", "PORTRAIT_SECONDARY", "LANDSCAPE_PRIMARY", "LANDSCAPE_SECONDARY" };
Since: 2.0
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.
SystemInfoDeviceOrientationStatus | phone type device | tablet type device |
---|---|---|
PORTRAIT_PRIMARY | natural position | rotated 90 degrees right (clockwise) |
PORTRAIT_SECONDARY | upside down, in other words rotated 180 degrees | rotated 90 degrees left (anticlockwise) |
LANDSCAPE_PRIMARY | rotated 90 degrees left (anticlockwise) | natural position |
LANDSCAPE_SECONDARY | rotated 90 degrees right (clockwise) | upside down, in other words rotated 180 degrees |
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" };
Since: 2.2
Remark : "MOBILE" and "WEARABLE" are supported since Tizen 2.3
enum SystemInfoLowMemoryStatus { "NORMAL", "WARNING" };
Since: 2.3
[NoInterfaceObject] interface SystemInfoObject { readonly attribute SystemInfo systeminfo; };
Tizen implements SystemInfoObject;
Since: 1.0
There will be a tizen.systeminfo object that allows accessing the functionality of the SystemInfo API.
[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
long long getTotalMemory();
Since: 2.3
Exceptions:
with error type UnknownError in any error case.
Code example:
// To get total amount of system memory console.log("The total memory size is " + tizen.systeminfo.getTotalMemory() + " bytes.");
getAvailableMemory
long long getAvailableMemory();
Since: 2.3
Exceptions:
with error type UnknownError in any error case
Code example:
// To get total amount of system memory console.log("The available memory size is " + tizen.systeminfo.getAvailableMemory() + " bytes.");
getCapabilities
Deprecated. getCapabilities() is deprecated since Tizen 2.3. It is recommended to use the getCapability() method (since Tizen 2.3) instead.
SystemInfoDeviceCapability getCapabilities();
Since: 2.0
The function must synchronously acquire the capabilities of the device.
Exceptions:
with error type UnknownError in any error case.
Code example:
var deviceCapabilities; deviceCapabilities = tizen.systeminfo.getCapabilities(); if (deviceCapabilities.bluetooth) { console.log("Bluetooth is supported"); }
getCapability
any getCapability(DOMString key);
Since: 2.3
See the available device capability keys.
Parameters:
Return value:
any The value of the specified device capabilityExceptions:
with error type UnknownError in any other error case.
Code example:
try { // Checks if a device supports bluetooth API or not 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
long getCount(SystemInfoPropertyId property);
Since: 2.3
That is the length of array retrieved by the getPropertyValueArray() method for the given property.
Parameters:
Return value:
long The number of property values for the given property. If the property is not supported, 0 is returned.Exceptions:
with error type TypeMismatchError, if the input parameter is not compatible with the expected type.
Code example:
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
void getPropertyValue(SystemInfoPropertyId property, SystemInfoPropertySuccessCallback successCallback, optional ErrorCallback? errorCallback);
Since: 1.0
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 method 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.
Parameters:
Exceptions:
with error type TypeMismatchError, if the input parameter is not compatible with the expected type.
with error type UnknownError in any other error case.
Code example:
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);
Code example:
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 would be 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
void getPropertyValueArray(SystemInfoPropertyId property, SystemInfoPropertyArraySuccessCallback successCallback, optional ErrorCallback? errorCallback);
Since: 2.3
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.
The ErrorCallback method can be launched with these error types:
Remark : see getCount().
Parameters:
Exceptions:
with error type TypeMismatchError, if the input parameter is not compatible with the expected type.
Code example:
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
unsigned long addPropertyValueChangeListener(SystemInfoPropertyId property, SystemInfoPropertySuccessCallback successCallback, optional SystemInfoOptions? options, optional ErrorCallback? errorCallback);
Since: 1.0
When called, it immediately returns and then asynchronously starts a watch process defined by the following steps:
1. Register the successCallback to receive system events that the status of the requested properties may have changed.
2. When a system event is successfully received invoke the associated successCallback with an object containing the property values.
3. Repeat step 2 until removePropertyValueChangeListener function is called.
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.
Parameters:
Return value:
unsigned long An identifier used to clear the watch subscription.Exceptions:
with error type TypeMismatchError, if the input parameter is not compatible with the expected type.
with error type InvalidValuesError, if any of the input parameters contain an invalid value (e.g. the invalid value for options).
with error type UnknownError in any other error case.
Code example:
function onSuccessCallback(cpu) { console.log("The cpu load : " + cpu.load); } tizen.systeminfo.addPropertyValueChangeListener("CPU", onSuccessCallback, {lowThreshold : 0.2});
addPropertyValueArrayChangeListener
unsigned long addPropertyValueArrayChangeListener(SystemInfoPropertyId property, SystemInfoPropertyArraySuccessCallback successCallback, optional SystemInfoOptions? options, optional ErrorCallback? errorCallback);
Since: 2.3
The ErrorCallback method can be launched with these error types:
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.
Parameters:
Return value:
unsigned long An identifier used to clear the watch subscription.Exceptions:
with error type TypeMismatchError, if the input parameter is not compatible with the expected type.
with error type InvalidValuesError, if any of the input parameters contain an invalid value (e.g. the invalid value for options).
with error type UnknownError in any other error case.
removePropertyValueChangeListener
void removePropertyValueChangeListener(unsigned long listenerId);
Since: 1.0
If a valid listenerId argument is passed that corresponds to a subscription already place, then the watch process MUST immediately terminate and no further callback is invoked. If the listenerId argument does not correspond to a valid subscription, the method should return without any further action.
Parameters:
Exceptions:
with error type TypeMismatchError, if the input parameter is not compatible with the expected type.
with error type InvalidValuesError, if any of the input parameters contain an invalid value.
with error type UnknownError in any other error case.
Code example:
var id = null; function onSuccessCallback(cpu) { console.log("New value for CPU load is " + cpu.load); if (id != null) { // After receiving the first notification, we clear it tizen.systeminfo.removePropertyValueChangeListener(id); } } id = tizen.systeminfo.addPropertyValueChangeListener("CPU", onSuccessCallback);
Deprecated. SystemInfoDeviceCapability is deprecated since Tizen 2.3 and will be removed in Tizen 3.0. It is recommended to use the getCapability() method (since Tizen 2.3) instead 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; };
Since: 2.0
Since: 2.0
Since: 2.0
Since: 2.1
Since: 2.0
Since: 2.0
Since: 2.1
Since: 2.0
Since: 2.0
Since: 2.1
Since: 2.1
Since: 2.0
Since: 2.0
Since: 2.0
Since: 2.0
Privilege level: public
Privilege: http://tizen.org/privilege/system
Exceptions:
with error type SecurityError, if this attribute is not allowed.
Since: 2.1
Privilege level: public
Privilege: http://tizen.org/privilege/system
Exceptions:
with error type SecurityError, if this attribute is not allowed.
For example, 1.0 represents a native api version where the major version is 1 and the minor version is 0. If a device doesn't provide Tizen native API, nativeApiVersion will be a empty string.
Since: 2.1
Privilege level: public
Privilege: http://tizen.org/privilege/system
Exceptions:
with error type SecurityError, if this attribute is not allowed.
Since: 2.0
Since: 2.1
Since: 2.0
Since: 2.0
Since: 2.0
Since: 2.0
Since: 2.0
Since: 2.0
Since: 2.0
Since: 2.0
Since: 2.0
Since: 2.0
Since: 2.0
Since: 2.0
Since: 2.0
Since: 2.0
Since: 2.0
Since: 2.0
Remark :
Tizen ID is a randomly generated value based on the model name.
It is recommended to use tizen.systeminfo.getCapability("http://tizen.org/system/tizenid") since Tizen 2.3 instead.
Since: 2.0
Since: 2.1
Since: 2.0
Since: 2.1
Since: 2.0
Since: 2.1
Since: 2.0
Since: 2.1
Since: 2.0
Since: 2.1
Since: 2.1
Since: 2.1
Since: 2.0
Since: 2.1
Since: 2.1
Since: 2.1
Since: 2.1
Since: 2.1
Since: 2.1
Since: 2.1
Since: 2.1
Since: 2.1
Since: 2.1
Since: 2.1
Since: 2.1
Since: 2.1
Since: 2.1
Since: 2.1
Since: 2.1
Since: 2.1
Since: 2.1
Since: 2.1
Since: 2.1
Since: 2.2
dictionary SystemInfoOptions { unsigned long timeout; double highThreshold; double lowThreshold; };
Since: 1.0
The highThreshold and lowThreshold values are only applicable to the following SystemInfoPropertyId.
For other cases, it is ignored.
Since: 1.0
Since: 1.0
Since: 1.0
[Callback=FunctionOnly, NoInterfaceObject] interface SystemInfoPropertySuccessCallback { void onsuccess(SystemInfoProperty property); };
Since: 1.0
This callback interface specifies a success callback with SystemInfoProperty as input argument. It is used in asynchronous operations, such as getPropertyValue() or addPropertyValueChangeListener()
onsuccess
void onsuccess(SystemInfoProperty property);
Since: 1.0
Parameters:
[Callback=FunctionOnly, NoInterfaceObject] interface SystemInfoPropertyArraySuccessCallback { void onsuccess(SystemInfoProperty[] properties); };
Since: 2.3
This callback interface specifies a success callback with SystemInfoProperty as input argument. It is used in asynchronous operations, such as getPropertyValueArray() or addPropertyValueArrayChangeListener()
onsuccess
void onsuccess(SystemInfoProperty[] properties);
Since: 2.3
Parameters:
[NoInterfaceObject] interface SystemInfoProperty { };
Since: 1.0
[NoInterfaceObject] interface SystemInfoBattery : SystemInfoProperty { readonly attribute double level; readonly attribute boolean isCharging; };
Since: 1.0
Any threshold parameter used in a watch operation to monitor this property applies to this attribute.
Since: 1.0
Since: 1.0
[NoInterfaceObject] interface SystemInfoCpu : SystemInfoProperty { readonly attribute double load; };
Since: 1.0
Since: 1.0
[NoInterfaceObject] interface SystemInfoStorage : SystemInfoProperty { readonly attribute SystemInfoStorageUnit[] units; };
Since: 1.0
Since: 1.0
[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; };
The supported storage unit types are:
Since: 1.0
Since: 1.0
Since: 1.0
The following values are supported:
Since: 2.1
Deprecated. A typographic error.
Since: 1.0
[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; };
Since: 1.0
Since: 1.0
Since: 1.0
Since: 1.0
Since: 1.0
Since: 1.0
Since: 1.0
Since: 1.0
[NoInterfaceObject] interface SystemInfoDeviceOrientation : SystemInfoProperty { readonly attribute SystemInfoDeviceOrientationStatus status; readonly attribute boolean isAutoRotation; };
Since: 2.0
Since: 2.0
Since: 2.2
[NoInterfaceObject] interface SystemInfoBuild : SystemInfoProperty { readonly attribute DOMString model; readonly attribute DOMString manufacturer; readonly attribute DOMString buildVersion; };
Since: 2.0
Since: 2.0
Since: 2.1
Since: 2.2
[NoInterfaceObject] interface SystemInfoLocale : SystemInfoProperty { readonly attribute DOMString language; readonly attribute DOMString country; };
Since: 2.1
Since: 2.1
Since: 2.1
[NoInterfaceObject] interface SystemInfoNetwork : SystemInfoProperty { readonly attribute SystemInfoNetworkType networkType; };
Since: 2.0
Since: 2.0
[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; };
Since: 1.0
Since: 1.0
Since: 1.0
Since: 1.0
Since: 2.0
It is written in MM:MM:MM:SS:SS:SS format.
Since: 2.3
Since: 1.0
[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); };
Since: 1.0
Since: 1.0
Since: 1.0
Since: 1.0
Since: 2.0
Since: 1.0
Since: 1.0
Since: 1.0
Since: 1.0
Since: 1.0
Since: 2.1
Since: 2.1
Privilege level: partner
Privilege: http://tizen.org/privilege/systemmanager
Exceptions:
with error type SecurityError, if this attribute is not allowed.
[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); };
Since: 2.0
Since: 2.1
Privilege level: public
Privilege: http://tizen.org/privilege/system
Exceptions:
with error type SecurityError, if this attribute is not allowed.
Since: 2.0
Privilege level: public
Privilege: http://tizen.org/privilege/system
Exceptions:
with error type SecurityError, if this attribute is not allowed.
Since: 2.0
Privilege level: partner
Privilege: http://tizen.org/privilege/systemmanager
Exceptions:
with error type SecurityError, if this attribute is not allowed.
Since: 2.0
Privilege level: public
Privilege: http://tizen.org/privilege/system
Exceptions:
with error type SecurityError, if this attribute is not allowed.
Since: 2.0
Privilege level: public
Privilege: http://tizen.org/privilege/system
Exceptions:
with error type SecurityError, if this attribute is not allowed.
Since: 2.0
Privilege level: public
Privilege: http://tizen.org/privilege/system
Exceptions:
with error type SecurityError, if this attribute is not allowed.
Since: 2.0
Privilege level: partner
Privilege: http://tizen.org/privilege/systemmanager
Exceptions:
with error type SecurityError, if this attribute is not allowed.
Since: 2.0
Privilege level: public
Privilege: http://tizen.org/privilege/system
Exceptions:
with error type SecurityError, if this attribute is not allowed.
[NoInterfaceObject] interface SystemInfoPeripheral : SystemInfoProperty { readonly attribute boolean isVideoOutputOn; };
Since: 2.1
Since: 2.1
[NoInterfaceObject] interface SystemInfoMemory : SystemInfoProperty { readonly attribute SystemInfoLowMemoryStatus status; };
Since: 2.3
Since: 2.3
To guarantee the running of this application on a device which supports Wi-Fi, declare the following feature requirements in the config file:
To guarantee the running of this application on a device which supports telephony feature, declare the following feature requirements in the config file:
module SystemInfo { enum SystemInfoPropertyId { "BATTERY" , "CPU", "STORAGE", "DISPLAY", "DEVICE_ORIENTATION", "BUILD", "LOCALE", "NETWORK", "WIFI_NETWORK", "CELLULAR_NETWORK", "SIM", "PERIPHERAL", "MEMORY" }; enum SystemInfoNetworkType { "NONE", "2G", "2.5G", "3G", "4G", "WIFI", "ETHERNET", "UNKNOWN" }; 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_FULL", "MOBILE_WEB", "MOBILE", "WEARABLE" }; enum SystemInfoLowMemoryStatus { "NORMAL", "WARNING" }; [NoInterfaceObject] interface SystemInfoObject { readonly attribute SystemInfo systeminfo; }; Tizen implements SystemInfoObject; [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); }; [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; }; dictionary SystemInfoOptions { unsigned long timeout; double highThreshold; double lowThreshold; }; [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; }; [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; readonly attribute boolean isRemoveable; }; [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 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; }; [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); }; [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; }; };