Unity工程里调用安卓的方法,需要用到JAR包。此文档主要介绍了三种导出JAR包和调用JAR包的方法。

  1. 使用方法1,需要修改程序的主Activity,所以可以在程序的生命周期做一些初始化和其他工作。
  2. 使用方法2,不需要修改主Activity,并可同时使用多个JAR包。
  3. 使用方法3,Unity脚本中的方法可以被JAR包内调用,通常用来接受广播并将信息发送到Unity。

1. 继承主MainActivity方式

Android工程中:

1、创建新的Android工程,在主MainActivity中定义,如:类名(com.example.MainActivity")

public static Activity unityActivity = null;

2、在onCreate()方法中,将setContentView代码行注释掉,并实现集成上下文,

unityActivity = this;

3、在主MainActivity中定义需要Unity调用的方法,如:

public void androidFunction() {}

4、将Android工程导出Jar包,如:unityToAndroid.jar

Unity工程中:

5、将Jar包(unityToAndroid.jar)拷贝到Unity工程中Assets/Plugins/Android/目录下。

6、修改Unity项目中AndroidManifest.xml文件中的主Activity为Android工程的类名。如:

<activity android:name="com.example.MainActivity"  ......>

7、在需要调用方法的地方实现如下方法:

//packageName 是Android工程中的全类名,如

//string packageName = "com.example.MainActivity";

AndroidJavaObject UnitytoActivity = new AndroidJavaClass (packageName).GetStatic<AndroidJavaObject> ("unityActivity");

//UnitytoActivity .Call(); 或者UnitytoActivity .CallStatic()方法等,如:

UnitytoActivity .Call("androidFunction");

以上是通过修改Unity工程中的主Activity调用Android的jar包的完整步骤。

Android方法需要在生命中进行处理的建议使用该方法。

Unity工程里调用安卓的方法,需要用到JAR包。此文档主要介绍了三种导出JAR包和调用JAR包的方法。使用方法1,需要修改程序的主Activity,所以可以在程序的生命周期做一些初始化和其他工作。 使用方法2,不需要修改主Activity,并可同时使用多个JAR包。 使用方法3,Unity脚本中的方法可以被JAR包内调用,通常用来接受广播并将信息发送到Unity。1. 继承主Ma...
Unity Android 交互 Unity Android 交互 方法 要有两种, 1.导出aar包供 unity 使用,这种是 Unity 官方推荐使用的,也是这篇文章 要讲解的。 2.导出 jar包 unity 使用。 本片讲第一种,使用aar包。 首先,使用 Android Studio新建一个空工程,选项都用默认即可。 打开工程后,File-&amp;amp;amp;amp;gt;New-&amp;amp;amp;amp;gt;New Module,选中 Android ...
基础知识相关文章:https://blog.csdn.net/jiaxunnanling/article/details/89947744 新建工程,并引入 Unity 内置 jar包 相关文章:https://blog.csdn.net/jiaxunnanling/article/details/90268239 二.如何扩展 由于 Unity 发布 Android 的Apk时,只...
相信不少朋友也已经看过这个流程图了,也基本了解了 Activity 生命周期的几个过程,我们就来说一说这几个过程。 1.启动 Activity :系统会先 调用 onCreate 方法 ,然后 调用 onStart 方法 ,最后 调用 onResume, Activity 进入运行状态。 2.当前 Activity 被其他 Activity 覆盖其上或被锁屏:系统会 调用 onPause 方法 ,暂停当前 Activity 的执行。 3....
当导出的 android 项目导入Eclipse, 新建一个 Activity ,并在 Android Manifest中设置这个 Activity Main Activity android :name="com.xxx.xxx.New Activity " android :label="@string/a
Unity 工程里 调用 安卓 方法 ,需要用到 JAR包 。此文档 要介绍了 Unity Android 相互通信的 方法 二。 使用 方法 1,需要修改程序的 Activity ,所以可以在程序的生命周期做一些初始化和其他工作。 使用 方法 2,不需要修改 Activity ,并可同时使用多个 JAR包 。 使用 方法 3, Unity 脚本中的 方法 可以被 JAR包 调用 ,通常用来接受广播并将信息发送到 Unity ...
项目上需要获取CPU型号,但是 Unity 自身的API接口刚好没有这个功能,只好通过 安卓 自身的接口来获取。现在很多 Unity 安卓 的交互都是通过 继承 Unity Player Activity ,但是一般这种 继承 都是用于写SDK的。         还好有过之前的 Unity 调用 NDK的经验,刚开始转程序的时候,在上海一家公司的实验室里有待过一段时间,刚好处理过类似的。先用 Android St...
6,将这个 jar包 放入 Unity 工程下的Plugins/ Android 下即可 C# 调用 Java: 得到类: Android JavaClass class=new Android JavaClass(“包名.类名”); 得到对象: Android JavaObject obj =new An
Unity3D 集成: Android Activity Unity 脚本交互和信息传递 移动端项目中很有可能需要利用 Unity 来渲染3D模型。但是其他模块开发者仍旧采用native开发 方式 。那么就产生了一个需求, Android Unity3D 的混合开发方案。 一、从本文拟可以学到什么 如何先启动 Android 的本地 Main Activity ,根据需要启动 Unity3D 编写的场景。 Android Ac
android .os.Build.VERSION将意味着要到一个叫VERSIONBuild包中的类, android .os.Build$VERSION将意味着进入一个内部类Versionos包 android .os.Build$VERSION本身是一个内部类,因此必须追加$让JRE使用点标志来确定包与内在的阶级。 参考http://cn.void...