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