unity写android插件时的回调接口处理AndroidJavaProxy
一般写android插件时,通过SendMessage给GameObject上的脚本发消息来返回一些插件中的功能。其实unity中提供了AndroidJavaProxy来处理unity<->java间的回调。
一、添加接口
package com.example.android;
public interface PluginCallback {
public void onSuccess(String videoPath);
public void onError(String errorMessage);
}
二、调用接口
public void myPluginMethod(PluginCallback callback) {
// Do something
callback.onSuccess("onSuccess");
// Do something horrible
callback.onError("onError");
}
三、在unity中c#脚本中实现android接口
class AndroidPluginCallback : AndroidJavaProxy
{
//android接口包名不能出错:com.example.android.PluginCallback
public AndroidPluginCallback() : base("com.example.android.PluginCallback") { }
public void onSuccess(string videoPath) {
Debug.Log("ENTER callback onSuccess: " + videoPath);
}
public void onError(string errorMessage)
{
Debug.Log("ENTER callback onError: " + errorMessage);
}
}
四、在unity中调用android接口 untiy与android互相交互
AndroidJavaObject pluginClass = new AndroidJavObject("com.example.android.MyPlugin");
pluginClass.Call("myPluginMethod", new AndroidPluginCallback());//c#中调用android接口
-END