Описание
Этот класс можно использовать для реализации любого интерфейса Java. Любой вызов метода java vm, соответствующий интерфейсу прокси-объекта, будет автоматически передан реализации C#.
Примечание: этот API можно использовать из пользовательского потока, но сначала этот поток должен быть подключен к JVM, см. AndroidJNI.AttachCurrentThread.
// Открывает диалоговое окно выбора даты Android и получает результат с помощью обратного вызова.
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");
}));
}
}
}
Свойства
Конструкторы
Публичные Методы
equals |
Эквивалент метода equals() java.lang.Object. |
hashCode |
Эквивалент метода java.lang.Object hashCode(). |
Invoke |
Вызывается java vm всякий раз, когда метод вызывается в интерфейсе java-прокси. Вы можете переопределить это, чтобы запустить специальный код при вызове метода, или вы можете оставить реализацию как есть и оставить поведение по умолчанию, которое заключается в поиске методов С#, соответствующих сигнатуре метода java. |
toString |
Эквивалент метода java.lang.Object toString(). |