Titanium.Android.QuickSettingsService
> Titanium.Android.QuickSettingsService

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>
  • 7.0
Defined By

Properties

apiName : Stringreadonly

The name of the API that this proxy corresponds to.

The name of the API that this proxy corresponds to.

The value of this property is the fully qualified name of the API. For example, Button returns Ti.UI.Button.

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

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

Some proxies (most commonly views) have a relationship to other proxies, often established by the add() method. For example, for a button added to a window, a click event on the button would bubble up to the window. Other common parents are table sections to their rows, table views to their sections, and scrollable views to their views. Set this property to false to disable the bubbling to the proxy's parent.

Default: true

  • 3.0.0
  • 3.0.0
  • 3.0.0

The intent used to start or bind to the Service.

The intent used to start or bind to the Service.

The Window or TabGroup whose Activity lifecycle should be triggered on the proxy.

The Window or TabGroup whose Activity lifecycle should be triggered on the proxy.

If this property is set to a Window or TabGroup, then the corresponding Activity lifecycle event callbacks will also be called on the proxy. Proxies that require the activity lifecycle will need this property set to the appropriate containing Window or TabGroup.

  • 3.6.0
A service can be started more than once -- this number (based on an incrementing integer) indicates which "start numb...

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.

Defined By

Methods

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

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

Parameters

  • name : String

    Name of the event.

  • callback : Callback<Object>

    Callback function to invoke when the event is fired.

Returns

  • void
Applies the properties to the proxy. ...

Applies the properties to the proxy.

Properties are supplied as a dictionary. Each key-value pair in the object is applied to the proxy such that myproxy[key] = value.

  • 3.0.0
  • 3.0.0
  • 3.0.0

Parameters

  • props : Dictionary

    A dictionary of properties to apply.

Returns

  • void
Fires a synthesized event to any registered listeners. ...

Fires a synthesized event to any registered listeners.

Parameters

  • name : String

    Name of the event.

  • event : Dictionary

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

Returns

  • void
Gets the value of the apiName property. ...

Gets the value of the apiName property.

  • 3.2.0
  • 3.2.0
  • 3.2.0

Returns

  • String
Gets the value of the bubbleParent property. ...

Gets the value of the bubbleParent property.

  • 3.0.0
  • 3.0.0
  • 3.0.0

Returns

  • Boolean
Titanium.Android.QuickSettingsService
( ) : String/Titanium.Blob/Titanium.Filesystem.File
Returns the Tile's current icon. ...

Returns the Tile's current icon.

Returns

Gets the value of the intent property. ...

Gets the value of the intent property.

Returns

Gets the value of the lifecycleContainer property. ...

Gets the value of the lifecycleContainer property.

  • 3.6.0

Returns

Gets the value of the serviceInstanceId property. ...

Gets the value of the serviceInstanceId property.

Returns

  • Number
Titanium.Android.QuickSettingsService
( ) : Number
Returns the Tile's current state. ...

Returns the Tile's current state.

Returns

Titanium.Android.QuickSettingsService
( ) : Boolean
Returns 'true' if the device is in secure state, 'false' otherwise. ...

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

Returns

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

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

Multiple listeners can be registered for the same event, so the callback parameter is used to determine which listener to remove.

When adding a listener, you must save a reference to the callback function in order to remove the listener later:

var listener = function() { Ti.API.info("Event listener called."); }
window.addEventListener('click', listener);

To remove the listener, pass in a reference to the callback function:

window.removeEventListener('click', listener);

Parameters

  • name : String

    Name of the event.

  • callback : Callback<Object>

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

Returns

  • void
Sets the value of the bubbleParent property. ...

Sets the value of the bubbleParent property.

  • 3.0.0
  • 3.0.0
  • 3.0.0

Parameters

  • bubbleParent : Boolean

    New value for the property.

Returns

  • void
Titanium.Android.QuickSettingsService
( icon )
Changes the Tile's icon. ...

Changes the Tile's icon.

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

Parameters

Returns

  • void
Titanium.Android.QuickSettingsService
( label )
Changes the Tile's label. ...

Changes the Tile's label.

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

Parameters

  • label : String

    String to be used.

Returns

  • void
Sets the value of the lifecycleContainer property. ...

Sets the value of the lifecycleContainer property.

  • 3.6.0

Parameters

Returns

  • void
Titanium.Android.QuickSettingsService
( state )
Sets the state of the Tile. ...

Sets the state of the Tile.

State can be one of the following: TILE_STATE_UNAVAILABLE, TILE_STATE_INACTIVE, TILE_STATE_ACTIVE

Parameters

Returns

  • void
Titanium.Android.QuickSettingsService
( options )
Opens an Alert dialog. ...

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

  • options : showParams

    Dictionary containing the options for the dialog.

Returns

  • void
Starts the Service. ...

Starts the Service.

Effective only if this instance of Titanium.Android.Service was created with Titanium.Android.createService.

Returns

  • void
Titanium.Android.QuickSettingsService
( intent )
Colapses the quick settings menu and starts an activity for the passed Intent. ...

Colapses the quick settings menu and starts an activity for the passed Intent.

Parameters

Returns

  • void
Stops this running instance of the Service. ...

Stops this running instance of the Service.

Returns

  • void
Titanium.Android.QuickSettingsService
( jsCode )
Prompts the user to unlock the device and runs the JS code. ...

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

Parameters

  • jsCode : String

    JavaScript code to be evaluated.

Returns

  • void
Titanium.Android.QuickSettingsService
( )
Applies current tile's properties. ...

Applies current tile's properties.

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

Returns

  • void
Defined By

Events

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

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

The resume and pause events occur in pairs, with resume firing just before your JavaScript service code executes, and pause just after.

Properties

  • iteration : String

    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).

  • source : Object

    Source object that fired the event.

    •  
    •  
    •  
  • type : String

    Name of the event fired.

    •  
    •  
    •  
  • bubbles : Boolean

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

    •  
    •  
    •  
  • cancelBubble : Boolean

    Set to true to stop the event from bubbling.

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

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

For example, if your Service runs on an interval of 10000 (10 seconds), you would expect to see resume fired every 10 seconds, just as the JavaScript service code you wrote is about to execute.

Properties

  • iteration : String

    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).

  • source : Object

    Source object that fired the event.

    •  
    •  
    •  
  • type : String

    Name of the event fired.

    •  
    •  
    •  
  • bubbles : Boolean

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

    •  
    •  
    •  
  • cancelBubble : Boolean

    Set to true to stop the event from bubbling.

    •  
    •  
    •  
Fired when the bound service instance starts. ...

Fired when the bound service instance starts.

Bound service instances are created via Titanium.Android.createService.

Properties

  • source : Object

    Source object that fired the event.

    •  
    •  
    •  
  • type : String

    Name of the event fired.

    •  
    •  
    •  
  • bubbles : Boolean

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

    •  
    •  
    •  
  • cancelBubble : Boolean

    Set to true to stop the event from bubbling.

    •  
    •  
    •  
Titanium.Android.QuickSettingsService
Tile is listening for events. ...

Tile is listening for events.

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

Properties

  • source : Object

    Source object that fired the event.

    •  
    •  
    •  
  • type : String

    Name of the event fired.

    •  
    •  
    •  
  • bubbles : Boolean

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

    •  
    •  
    •  
  • cancelBubble : Boolean

    Set to true to stop the event from bubbling.

    •  
    •  
    •  
Fired when the bound service instance stops. ...

Fired when the bound service instance stops.

The service stops when stop or Titanium.Android.stopService is called and there are no more bound, un-stopped clients.

Properties

  • source : Object

    Source object that fired the event.

    •  
    •  
    •  
  • type : String

    Name of the event fired.

    •  
    •  
    •  
  • bubbles : Boolean

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

    •  
    •  
    •  
  • cancelBubble : Boolean

    Set to true to stop the event from bubbling.

    •  
    •  
    •  
Titanium.Android.QuickSettingsService
Tile has stopped listening for events. ...

Tile has stopped listening for events.

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

Properties

  • source : Object

    Source object that fired the event.

    •  
    •  
    •  
  • type : String

    Name of the event fired.

    •  
    •  
    •  
  • bubbles : Boolean

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

    •  
    •  
    •  
  • cancelBubble : Boolean

    Set to true to stop the event from bubbling.

    •  
    •  
    •  
Fired when the task that comes from the service's application has been removed. ...

Fired when the task that comes from the service's application has been removed.

This event is fired if the service is currently running and the user has removed a task that comes from the service's application, eg. the user swipes the application away from the recent applications list. It only works for unbound service which is started using Titanium.Android.startService.

Properties

  • source : Object

    Source object that fired the event.

    •  
    •  
    •  
  • type : String

    Name of the event fired.

    •  
    •  
    •  
  • bubbles : Boolean

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

    •  
    •  
    •  
  • cancelBubble : Boolean

    Set to true to stop the event from bubbling.

    •  
    •  
    •  
Titanium.Android.QuickSettingsService
The Tile has been added in the quick menu. ...

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.

Properties

  • source : Object

    Source object that fired the event.

    •  
    •  
    •  
  • type : String

    Name of the event fired.

    •  
    •  
    •  
  • bubbles : Boolean

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

    •  
    •  
    •  
  • cancelBubble : Boolean

    Set to true to stop the event from bubbling.

    •  
    •  
    •  
Titanium.Android.QuickSettingsService
Dispatched when the alert dialog has been cancelled. ...

Dispatched when the alert dialog has been cancelled.

Properties

  • source : Object

    Source object that fired the event.

    •  
    •  
    •  
  • type : String

    Name of the event fired.

    •  
    •  
    •  
  • bubbles : Boolean

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

    •  
    •  
    •  
  • cancelBubble : Boolean

    Set to true to stop the event from bubbling.

    •  
    •  
    •  
Titanium.Android.QuickSettingsService
Dispatched when the negative (index 2) button has been clicked. ...

Dispatched when the negative (index 2) button has been clicked.

Properties

  • source : Object

    Source object that fired the event.

    •  
    •  
    •  
  • type : String

    Name of the event fired.

    •  
    •  
    •  
  • bubbles : Boolean

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

    •  
    •  
    •  
  • cancelBubble : Boolean

    Set to true to stop the event from bubbling.

    •  
    •  
    •  
Titanium.Android.QuickSettingsService
Dispatched when the neutral (index 1) button has been clicked. ...

Dispatched when the neutral (index 1) button has been clicked.

Properties

  • source : Object

    Source object that fired the event.

    •  
    •  
    •  
  • type : String

    Name of the event fired.

    •  
    •  
    •  
  • bubbles : Boolean

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

    •  
    •  
    •  
  • cancelBubble : Boolean

    Set to true to stop the event from bubbling.

    •  
    •  
    •  
Titanium.Android.QuickSettingsService
An item from the signle choice menu has been selected. ...

An item from the signle choice menu has been selected.

Properties

  • itemIndex : String

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

  • source : Object

    Source object that fired the event.

    •  
    •  
    •  
  • type : String

    Name of the event fired.

    •  
    •  
    •  
  • bubbles : Boolean

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

    •  
    •  
    •  
  • cancelBubble : Boolean

    Set to true to stop the event from bubbling.

    •  
    •  
    •  
Titanium.Android.QuickSettingsService
Dispatched when the positive (index 0) button has been clicked. ...

Dispatched when the positive (index 0) button has been clicked.

Properties

  • source : Object

    Source object that fired the event.

    •  
    •  
    •  
  • type : String

    Name of the event fired.

    •  
    •  
    •  
  • bubbles : Boolean

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

    •  
    •  
    •  
  • cancelBubble : Boolean

    Set to true to stop the event from bubbling.

    •  
    •  
    •  
Titanium.Android.QuickSettingsService
The Tile has been removed from the quick menu. ...

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.

Properties

  • source : Object

    Source object that fired the event.

    •  
    •  
    •  
  • type : String

    Name of the event fired.

    •  
    •  
    •  
  • bubbles : Boolean

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

    •  
    •  
    •  
  • cancelBubble : Boolean

    Set to true to stop the event from bubbling.

    •  
    •  
    •