Version: 2020.3
言語: 日本語

AndroidJavaProxy

class in UnityEngine

マニュアルに切り替える

説明

このクラスを使用して任意の Java インターフェースの実装できます。プロキシオブジェクト上のインターフェースに一致する任意の Java VM メソッド実行は 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"); })); } } }

変数

javaInterfaceプロキシにより実装された Java インターフェース。

コンストラクタ

AndroidJavaProxy

Public 関数

equalsThe equivalent of the java.lang.Object equals() method.
hashCodeThe equivalent of the java.lang.Object hashCode() method.
InvokeJava プロキシインターフェースでメソッドが実行されるたびに Java VM により呼び出されます。これをオーバーライドすることでメソッドの実行時に特別なコードを実行するか、実装をそのままとしてデフォルト動作である Java メソッドのシグニチャと一致する C# メソッドを探すことができます。
toStringThe equivalent of the java.lang.Object toString() method.