Skip to content
Titanium SDK
Version14.0.0

Titanium.App.Android

moduleAndroidsince 1.5

Extends Titanium.ModuleTitanium.Proxy

A module used to access Android application resources.

For more information, refer to the official documentation on the Android Developer website about application resources.

Examples

Custom String Resource

Custom Android resources may be placed in platform/android in the project root. For example, to utilize a custom localization file, create and populate platform/android/res/values/mystrings.xml with the following data.

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="mystring">testing 1 2 3</string>
</resources>

In Javascript, this can be accessed as follows.

var activity = Ti.Android.currentActivity;
var R = Ti.App.Android.R;

var mystring = activity.getString(R.string.mystring);
Ti.API.debug("mystring = " + mystring);

Change Android icon at runtime

Add these <activity-alias> nodes into the tiapp.xml <application> block:

<activity-alias android:enabled="true" android:name=".default" android:targetActivity=".TestActivity" android:exported="true">
    <intent-filter>
        <action android:name="android.intent.action.MAIN"/>
        <category android:name="android.intent.category.LAUNCHER"/>
    </intent-filter>
</activity-alias>
<activity-alias android:icon="@mipmap/ic_launcher" android:name=".red" android:enabled="false" android:targetActivity=".TestActivity" android:exported="true">
    <intent-filter>
        <action android:name="android.intent.action.MAIN"/>
        <category android:name="android.intent.category.LAUNCHER"/>
    </intent-filter>
</activity-alias>

Change the android:targetActivity to point at your main activity, android:name is used inside the JavaScript code to switch between the alias nodes and android:icon will be the new icon.

In Javascript, this can be accessed as follows.

const win = Ti.UI.createWindow({layout: "vertical"});

const btn1 = Ti.UI.createButton({title: "switch to red"});
const btn2 = Ti.UI.createButton({title: "switch to default"});

btn1.addEventListener("click", function() {
  Ti.App.Android.changeIcon({
    from: "default",
    to: "red"
  });
});
btn2.addEventListener("click", function() {
  Ti.App.Android.changeIcon({
    from: "red",
    to: "default"
  });
});

win.add([btn1, btn2]);
win.open();

Properties 7

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.

appVersionCode

Numbersince 3.3.0read-only

The version number of the application.

appVersionName

Stringsince 3.3.0read-only

The version name of the application.

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

Return the intent that was used to launch the application.

This intent will not change for the lifetime of the application. Its action is typically set to "android.intent.action.MAIN" when launched via the app list screen.

This launch intent can be used to resume the app while backgrounded via the startActivity() method or via a notification.

When the app is launched via a data intent such as a URL, shortcut, notification, etc. then that intent is provided by the Ti.Android.rootActivity object's intent property instead. That intent will initially be set to the launch intent, but will change when a "newintent" event has been fired. You should always read the root activity's intent instead of the launch intent for data.

The R namespace for application resources.

The properties and sub-properties of this object relate directly to the native application resources R class, and thus have the same syntax. For more information, refer to the official documentation on the Android Developer website about accessing application resources.

For example, if the file platform/android/res/drawable/icon.png exists in the project, it can be accessed using its resource name, as follows.

var resid = Titanium.App.Android.R.drawable.icon;

To access system-wide resources, rather than application resources, use Titanium.Android.R instead.

Methods 6

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.

changeIcon

since 14.0.0

Changes the Android app icon at runtime.

You have to add <activity-alias> nodes for every icon to the tiapp.xml and use changeIcon() to switch from one to another. Check the Change Android icon at runtime example for more details. The app has to keep track of the current icon state in order to set the from/to parameters.

One alias must have an <intent-filter> with the MAIN action and the LAUNCHER category and must not set android:enabled="false". The build then removes the launcher entry of the main activity. If no alias fulfills this, the main activity keeps its launcher entry.

Parameters
ParametersTypeDescription
optionsChangeIconOptions

Dictionary with the from and to alias names.

2 fields
from String

android:name (without leading dot) of the <activity-alias> of the current icon. The method disables this alias.

to String

android:name (without leading dot) of the <activity-alias> of the new icon. The method enables this alias.

clearUserCache

since 13.1.0

Clears app data and cache. This will close the app.

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.

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.

Events 1