上一篇說到了unity調用android,這裏說說android調用unity:
可以直接看代碼沒有多少需要解釋的:
一、先 寫一個android調用unity的方法
/**
* 調用Unity的方法
*
* @param gameObjectName 調用的GameObject的名稱
* @param functionName 方法名
* @param args 參數
* @return 調用是否成功
*/
boolean callUnity(String gameObjectName, String functionName, String args) {
try {
Class<?> classtype = Class.forName("com.unity3d.player.UnityPlayer");
Method method = classtype.getMethod("UnitySendMessage", String.class, String.class, String.class);
method.invoke(classtype, gameObjectName, functionName, args);
return true;
} catch (ClassNotFoundException e) {
} catch (NoSuchMethodException e) {
} catch (IllegalAccessException e) {
} catch (InvocationTargetException e) {
}
return false;
}
這裏說一下“gameObjectName”這個參數,就是下圖中,紅色圈中的的名字,這裏需要將調用的方法所在類添加到裏面,名字自定義
unity端調用:
Boolean bl = callUnity("GameObject", "AndroidCallUnity", "來自android");
二、unity端提供的方法:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class aarTest : MonoBehaviour
{
public void AndroidCallUnity(string msg) {
Debug.Log("AndroidCallUnity callback onSuccess---------: " + msg);
}
}
以上就是android調用unity
-END