Unity工程里调用安卓的方法,需要用到JAR包。此文档主要介绍了Unity与Android相互通信的方法二。
使用方法1,需要修改程序的主Activity,所以可以在程序的生命周期做一些初始化和其他工作。
使用方法2,不需要修改主Activity,并可同时使用多个JAR包。
使用方法3,Unity脚本中的方法可以被JAR包内调用,通常用来接受广播并将信息发送到Unity。
2、Unity直接调用jar包方法
Android工程中:
1、创建新的Android工程,在工程中定义普通类TestClass,如:类名(com.example.TestClass")
2、在TestClass类中定义需要Unity调用的方法,如:
public void androidFunction() {}
3、将Android工程导出Jar包,如:unityToAndroid.jar
Unity工程中:
4、将Jar包(unityToAndroid.jar)拷贝到Unity工程中Assets/Plugins/Android/目录下。
5、在需要调用Android方法实现,如下:
string packageName = "com.example.TestClass";
AndroidJavaObject AndroidClass= new AndroidJavaObject(packageName);
//获取当前的Context,用于需要使用上下文的参数
AndroidJavaObject ActivityContext = new AndroidJavaClass("com.unity3d.player.UnityPlayer").GetStatic<AndroidJavaObject>("currentActivity");
AndroidClass.Call("androidFunction");
以上是Unity直接调用Android的jar包中的方法的完整步骤。