AndroidJavaRunnable adalah representasi Unity dari java.lang. Objek yang dapat diputar.
Perhatikan bahwa ini adalah delegasi. seperti itu, java.lang.reflect baru. Proxy objek diciptakan setiap kali dilewatkan sebagai argumen ke Java. Ini berarti bahwa melewati variabel jenis AndroidJavaRunnable ke Java beberapa kali menghasilkan objek Java baru setiap kali dengan nilai kode hash yang berbeda. Ini juga berarti bahwa memanggil equals()
pada objek Java yang diciptakan sebagai representasi dari variabel AndroidJavaRunnable selalu kembali palsu, bahkan ketika dibandingkan dengan dirinya sendiri.
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!"); } }