返回介绍

AndroidJavaProxy 安卓Java代理

发布于 2019-12-18 15:36:58 字数 2974 浏览 946 评论 0 收藏 0

Description 描述

This class can be used to implement any java interface. Any java vm method invocation matching the interface on the proxy object will automatically be passed to the c# implementation.

这个类可以用来实现任何Java接口。任何Java虚拟机调用代理对象上匹配的接口将自动传递到C #实现。

JavaScript:

未提供代码

C#:

// Opens an android date picker dialog and grabs the result using a callback.
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)))
	{
		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");
		}));
	}
}

Variables 变量

javaInterfaceJava interface implemented by the proxy.
由代理实现的javaInterface Java接口。

Constructors 构造函数

AndroidJavaProxy

Functions 函数

InvokeCalled by the java vm whenever a method is invoked on the java proxy interface. You can override this to run special code on method invokation, or you can leave the implementation as is, and leave the default behavior which is to look for c# methods matching the signature of the java method.
每当一个方法在Java代理接口由Java虚拟机被调用时,你可以重写该方法来运行特定代码,或者你可以保留默认行为,这将查找C#方法中与Java签名相匹配的方法。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文