Version: 2017.3

AndroidJavaRunnable

Switch to Manual
public delegatevoid AndroidJavaRunnable ();

Description

AndroidJavaRunnable это представление объекта java.lang.Runnable в Unity.

Note that this is a delegate. As such, a new java.lang.reflect.Proxy object is created every time it is passed as an argument to Java. This means that passing a variable of AndroidJavaRunnable type to Java multiple times results in a new Java object each time with different hash code values. It also means that calling equals() on the Java object created as a representation of an AndroidJavaRunnable variable always returns false, even when compared to itself.

using UnityEngine;
using System.Collections;

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

void runOnUiThread() { Debug.Log("I'm running on the Java UI thread!"); } }