• G#

Android SDK

Sarankan perubahan

Success!

Terima kasih untuk membantu kami meningkatkan kualitas Dokumentasi Unity. Meskipun kami tidak dapat menerima semua pengajuan, kami membaca setiap perubahan yang disarankan dari pengguna kami dan akan melakukan pembaruan di mana berlaku.

Close

Penjelasan gagal

Untuk beberapa alasan perubahan yang disarankan Anda tidak dapat diajukan. Silahkan <a>try lagi</a> dalam beberapa menit. Dan terima kasih untuk mengambil waktu untuk membantu kami meningkatkan kualitas Dokumentasi Unity.

Close

Cancel

Declaration

public delegate void Android SDK();

Description

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!"); } }