Unity 6.3
0 онлайн 62 гостей 3 в системе
Вход

AndroidJavaProxy

класс в UnityEngine

Выполнено в:UnityEngine.AndroidJNIModule

Описание

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

Примечание: это API может быть использован из пользовательской темы, но требует, чтобы эта тема была прикреплена к JVM Первое, см. 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); // If you have no longer any uses for the object, it must be disposed to prevent a leak view.Dispose(); } }

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

Свойства

Свойство Описание
javaInterfaceИнтерфейс Java, реализуемый прокси.

Конструкторы

Конструктор Описание
AndroidJavaProxy

Открытые методы

Метод Описание
equalsЭквивалент метода java.lang.Object equals().
hashCodeЭквивалент метода java.lang.Object hashCode().
InvokeВызывается виртуальной машиной Java при каждом вызове метода у прокси-интерфейса Java. Вы можете переопределить его, чтобы выполнять особый код при вызове метода, либо оставить реализацию как есть и сохранить поведение по умолчанию — поиск методов C#, соответствующих сигнатуре метода Java.
toStringЭквивалент метода java.lang.Object toString().