Titanium.App.Android
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
Inherited from Titanium.Proxy
The name of the API that this proxy corresponds to.
The version number of the application.
The version name of the application.
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.
Inherited from Titanium.Proxy
The Window or TabGroup whose Activity lifecycle should be triggered on the proxy.
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 | Type | Description |
|---|---|---|
| name | String | Name of the event. |
| callback | Callback<Titanium.Event> | Callback function to invoke when the event is fired. 4 fields
|
applyProperties
since 3.0.0Inherited from Titanium.Proxy
Applies the properties to the proxy.
| Parameters | Type | Description |
|---|---|---|
| props | Dictionary | A dictionary of properties to apply. |
changeIcon
since 14.0.0Changes 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 | Type | Description |
|---|---|---|
| options | ChangeIconOptions | Dictionary with the 2 fields
|
clearUserCache
since 13.1.0Clears app data and cache. This will close the app.
Inherited from Titanium.Proxy
Fires a synthesized event to any registered listeners.
| Parameters | Type | Description |
|---|---|---|
| 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. |
Inherited from Titanium.Proxy
Removes the specified callback as an event listener for the named event.
| Parameters | Type | Description |
|---|---|---|
| name | String | Name of the event. |
| callback | Callback<Titanium.Event> | Callback function to remove. Must be the same function passed to 4 fields
|
Events 1
shortcutitemclick
since 7.5.0Fired when a Titanium.UI.ShortcutItem is clicked.
| Event properties | Type | Description |
|---|---|---|
| id | String | Identifier of the clicked shortcut item. |