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 ExampleClass : 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 ExampleClass(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!')