之前我写了一篇文章,说的是Unity+Rn+Android的开发结构,这个我要说的是移除掉react native,android和unity直接进行互相调用。但是需要注意的是,只有java可以,kotlin是无法调用到的。
1.Unity调用android
这个还是很方便的,如下图
首先C#这边需要定下下AndroidJavaObject,然后需要android这边有一个Utils类或者其他类去定义给unity调用的public方法,之后构造出对象,即可调用到android的相关方法,同时也可以接收回调参数和传参。
android这边的话,没有太多讲究,就是把方法在对应类生命出来即可,如下图
我这边是委托了Controller进行操作。
还需要注意的是,权限的配置,和Module中application的声明,这个是Unity中的AndroidManifest.xml,也是需要配置权限和Application包括service那些的:
2.Android调用Unity
有了前面的基础,就很好调用了,只需要和Unity协商好getMethod后面的第一个参数和invoke的第二个参数即可