Unity3d 对接android SDK

2016-12-20  本文已影响186人  魁犸

Unity3d 对接android SDK

从Unity3D到Android工程

为了实现交互,我们采用的是简单的函数相互调用。如果我们在Unity3D中想调用Android代码,那么可以在脚本文件C#中这样写:

AndroidJavaClass jc =newAndroidJavaClass("com.unity3d.player.UnityPlayer");

AndroidJavaObject activity= jc.GetStatic("currentActivity");

activity.Call("UnlockGame")

代码注释:

1.第一行  构造了"com.unity3d.player.UnityPlayer"类的一个对象

2.第二行  获取了本类的静态成员"currentActivity"

3.第三行  取得了activity就可以调用Android代码了 这个UnlockGame函数是简单的成员方法,一般直接写在MainActivity中

Android 调用Unity3D 的方法

UnityPlayer.UnitySendMessage("AndroidManager", "AndroidCallBackUnlockGame", "");

Android中调用Unity中的方法 “AndroidCallBackUnlockGame”

三个参数表示的意义:

第一个参数Unity3D 中的某个GameObject

第二个这个Gameobject 上的脚本的某个方法AndroidCallBackUnlockGame

第三个 AndroidCallBackUnlockGame这个方法的参数

Unity3D 中同时调用多个jar工具

Unity程序一起动就会调用这个Activity,它是在AndroidManifest.xml中配置的。它需要继承UnityPlayerActivity,如果同时需要启动多个插件工具时需要注意下面几个方面的内容:

  1.如果启动的插件没有其他的任何依赖项可以使用静态方法直接用

      publicvoidStartActivity1(Stringname)

       {

             Intent intent=new Intent(mContext,TestActivity1.class);

             intent.putExtra("name",name);

             this.startActivity(intent);

      }

  2. 如果有依赖项 可以用要启动的Activity 继承 主Activity 然后把要启动jar包需要的内容添加到 主Activity

上一篇 下一篇

猜你喜欢

热点阅读