AndroidJavaRunnable.AndroidJavaRunnable
Description

AndroidJavaRunnable is the Unity representation of a java.lang.Runnable object.

// Pass execution context over to the Java UI thread.
function Start () {
	var unityPlayer = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
	var activity = unityPlayer.GetStatic.<AndroidJavaObject>("currentActivity");
	activity.Call("runOnUiThread", new AndroidJavaRunnable(runOnUiThread));
}

function runOnUiThread() { Debug.Log("I'm running on the Java UI thread!"); }
using UnityEngine;
using System.Collections;

public class Example : MonoBehaviour {
    void Start() {
        AndroidJavaClass unityPlayer = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
        AndroidJavaObject activity = unityPlayer.GetStatic<AndroidJavaObject>("currentActivity");
        activity.Call("runOnUiThread", AndroidJavaRunnable(runOnUiThread));
    }
    void runOnUiThread() {
        Debug.Log("I'm running on the Java UI thread!");
    }
}
import UnityEngine
import System.Collections

public class Example(MonoBehaviour):

	def Start() as void:
		unityPlayer as AndroidJavaClass = AndroidJavaClass('com.unity3d.player.UnityPlayer')
		activity as AndroidJavaObject = unityPlayer.GetStatic[of AndroidJavaObject]('currentActivity')
		activity.Call('runOnUiThread', AndroidJavaRunnable(runOnUiThread))

	def runOnUiThread() as void:
		Debug.Log('I\'m running on the Java UI thread!')