AndroidJavaProxy

class in UnityEngine

Switch to Manual

Description

Этот класс может быть использован для реализации какого-либо java интерфейса. Любой вызов метода виртуальной машины java на сопоставление интерфейса и прокси - объекта будет автоматически переведен в C# реализацию.

Note: this API can be used from custom thread, but requires that thread to be attached to JVM first, see AndroidJNI.AttachCurrentThread.

// Opens an android date picker dialog and grabs the result using a callback.
using UnityEngine;
using System;

class ExampleClass : MonoBehaviour { private static DateTime selectedDate = DateTime.Now;

class DateCallback : AndroidJavaProxy { public DateCallback() : base("android.app.DatePickerDialog$OnDateSetListener") {} void onDateSet(AndroidJavaObject view, int year, int monthOfYear, int dayOfMonth) { selectedDate = new DateTime(year, monthOfYear + 1, dayOfMonth); } }

void OnGUI() { if (GUI.Button(new Rect(15, 15, 450, 75), string.Format("{0:yyyy-MM-dd}", selectedDate))) { AndroidJavaClass activity = new AndroidJavaClass("com.unity3d.player.UnityPlayer").GetStatic<AndroidJavaClass>("currentActivity"); activity.Call("runOnUiThread", new AndroidJavaRunnable(() => { new AndroidJavaObject("android.app.DatePickerDialog", activity, new DateCallback(), selectedDate.Year, selectedDate.Month - 1, selectedDate.Day).Call("show"); })); } } }

Variables

javaInterfaceИнтерфейс Java реализован с помощью прокси.

Constructors

AndroidJavaProxy

Public Functions

equalsThe equivalent of the java.lang.Object equals() method.
hashCodeThe equivalent of the java.lang.Object hashCode() method.
InvokeВызывается виртуальной машиной java всякий раз, когда метод вызывается на прокси - интерфейсе java. Вы можете переписать это для того, чтобы, запустить специальный код при вызове метода, или же вы можете оставить его как есть, и оставить поведение по умолчанию, которое должно искать методы C# соответствующие подписи метода java.
toStringThe equivalent of the java.lang.Object toString() method.