美文网首页
Unity3d 对接android SDK

Unity3d 对接android SDK

作者: 魁犸 | 来源:发表于2016-12-20 14:47 被阅读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

    相关文章

      网友评论

          本文标题:Unity3d 对接android SDK

          本文链接:https://www.haomeiwen.com/subject/pakimttx.html