Skip to content
Titanium SDK
Version12.6.1

You are reading 12.6.1. See this page in 13.4.1.

Titanium.Android.QuickSettingsService

proxyAndroidsince 7.0

Extends Titanium.Android.ServiceTitanium.Proxy

Android service for creating custom quick settings tiles and handling user's interaction with them.

A special kind of service providing access to a tile in the quick settings menu. Used for customization and event handling of the tile. Usage is similar to default Titanium.Android.Service but with the addition of some specific attributes and methods. This service is not started from within the application with the help of an Intent, but instead whenever the custom tile is added in the quick settings menu by the user. Applications can have multiple tiles in the quick settigs menu, but a Titanium.Android.QuickSettingsService corresponds to a single one - you need separate service file for every tile.

To create a service file:

  1. Write the JavaScript code you want the service to execute in a separate file. The service can execute any Titanium APIs but you should only use non-UI APIs.
  2. Register the service in your tiapp.xml file. Refer to the example below.

Icons used for the 'icon' attribute in the service declaration in tiapp.xml must be in the Android drawables folder, so they you should be put under platform/android/res/drawable Icons added with the setIcon method can be outside the directory.

To get a reference to the Service inside the JavaScript service code, use the Titanium.Android.currentService property to retrieve a reference to the service,

Further Reading:

Examples

Update Tile Example

This example shows how to create a service in JavaScript. It will update the Tile in quick settings according to the user's interaction.

File: updatequicksettings.js:

var service = Ti.Android.currentService;
service.addEventListener('click', function () {

  if (service.getState() == Ti.Android.TILE_STATE_ACTIVE) {
    service.setState(Ti.Android.TILE_STATE_INACTIVE);
    service.setLabel('Inactive');
    service.setIcon('inactive.png');
  } else {
    service.setState(Ti.Android.TILE_STATE_ACTIVE);
    service.setLabel('Active');
    service.setIcon('active.png');
  }
  service.updateTile();
}

Register the service in tiapp.xml:

<ti:app>
    <android xmlns:android="http://schemas.android.com/apk/res/android">
        <services>
            <service url="updatequicksettings.js" type="quicksettings" label="Active" icon="active.png"/>
        </services>
    </android>
</ti:app>

Properties 8

apiName

Stringsince Android 3.2.0, iPhone 3.2.0, iPad 3.2.0, macOS 9.2.0read-only

Inherited from Titanium.Proxy

The name of the API that this proxy corresponds to.

bubbleParent

Booleansince Android 3.0.0, iPhone 3.0.0, iPad 3.0.0, macOS 9.2.0

Inherited from Titanium.Proxy

Indicates if the proxy will bubble an event to its parent.

Default: true

label

Stringsince 10.0.0

The Tile's label.

If no label is set the Tile uses the Application name.

serviceInstanceId

Numberread-only

Inherited from Titanium.Android.Service

A service can be started more than once -- this number (based on an incrementing integer) indicates which "start number" in the sequence the current service instance is.

Methods 20

Inherited from Titanium.Proxy

Adds the specified callback as an event listener for the named event.

Parameters
ParametersTypeDescription
nameString

Name of the event.

callbackCallback<Titanium.Event>

Callback function to invoke when the event is fired.

4 fields
bubbles Boolean

True if the event will try to bubble up if possible.

cancelBubble Boolean

Set to true to stop the event from bubbling.

source Object

Source object that fired the event.

type String

Name of the event fired.

Inherited from Titanium.Proxy

Fires a synthesized event to any registered listeners.

Parameters
ParametersTypeDescription
nameString

Name of the event.

event?Dictionary

A dictionary of keys and values to add to the Titanium.Event object sent to the listeners.

foregroundNotify

since 7.3.0

Inherited from Titanium.Android.Service

Puts the service into the "foreground" state and displays a notification.

Parameters
ParametersTypeDescription
idNumber

Unique integer ID to be assigned to the notification. Cannot be zero.

notificationTitanium.Android.Notification

Notification to display in the status bar. Cannot be null.

foregroundServiceType?Number

Notification service type specified by <Titanium.Android.FOREGROUND_SERVICE_TYPE_*>.

getLabel

deprecated

Deprecated since 10.0.0

Please use the label property to get/set the value.

Returns the Tile's current label.

Returns String

getState

deprecated

Deprecated since 10.0.0

Please use the state property to get/set the value.

Returns the Tile's current state.

Returns Number

Returns 'true' if the device is currently locked, 'false' otherwise.

Returns Boolean

Returns 'true' if the device is in secure state, 'false' otherwise.

Returns Boolean

Inherited from Titanium.Proxy

Removes the specified callback as an event listener for the named event.

Parameters
ParametersTypeDescription
nameString

Name of the event.

callbackCallback<Titanium.Event>

Callback function to remove. Must be the same function passed to addEventListener.

4 fields
bubbles Boolean

True if the event will try to bubble up if possible.

cancelBubble Boolean

Set to true to stop the event from bubbling.

source Object

Source object that fired the event.

type String

Name of the event fired.

setIcon

deprecated

Deprecated since 10.0.0

Please use the icon property to get/set the value.

Changes the Tile's icon.

If no image is passed as Tile icon it will use the Application's one.

Parameters
ParametersTypeDescription
iconString | Titanium.Blob | Titanium.Filesystem.File

Source of the icon image

setLabel

deprecated

Deprecated since 10.0.0

Please use the label property to get/set the value.

Changes the Tile's label.

If no label is set the Tile uses the Application name.

Parameters
ParametersTypeDescription
labelString

String to be used.

Opens an Alert dialog.

Creates and shows a default Alert dialog with the provided options dictionary.

Note: Alert dialog only supports one of the following: message/options. If you pass both - only message will be shown.

Parameters
ParametersTypeDescription
optionsshowParams

Dictionary containing the options for the dialog.

Prompts the user to unlock the device and runs the JS code.

Parameters
ParametersTypeDescription
jsCodeString

JavaScript code to be evaluated.

Applies current tile's properties.

Updates the Tile's with it's current label, icon and state.

Events 14

Inherited from Titanium.Android.Service

For Javascript-based services that you create, pause fires after each time the JavaScript code executes.

Event properties
Event propertiesTypeDescription
iterationNumber

Incrementing integer indicating which iteration of an interval-based Service is pausing. For example, if you have an interval-based Service running every 10 seconds, iteration 3 would occur at about 30 seconds after you start the instance (assuming your service code runs quickly).

Inherited from Titanium.Android.Service

For JavaScript-based Services which you create, resume fires each time the JavaScript code executes.

Event properties
Event propertiesTypeDescription
iterationNumber

Incrementing integer indicating which iteration of an interval-based Service is pausing. For example, if you have an interval-based Service running every 10 seconds, iteration 3 would occur at about 30 seconds after you start the instance (assuming your service code runs quickly).

Tile is listening for events.

Dispatched whenever the user has opened the quick setting menu and the Tile is added in there.

Tile has stopped listening for events.

Dispatched whenever the user has collapsed the quick setting menu and the Tile is not visible.

The Tile has been added in the quick menu.

Dispatched wheneved the user has moved the Tile for this service in the quick settings menu.

An item from the signle choice menu has been selected.

Event properties
Event propertiesTypeDescription
itemIndexNumber

Index of the selected item from the single choice menu in the dialog.

The Tile has been removed from the quick menu.

Dispatched wheneved the user has removed the Tile for this service from the quick settings menu.