Version: 5.4

AndroidJavaProxy

class in UnityEngine

マニュアルに切り替える

説明

このクラスを使用して任意の Java インターフェースの実装できます。プロキシオブジェクト上のインターフェースに一致する任意の Java VM メソッド実行は C# 実装に自動的に渡されます。

// 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<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

Public 関数

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