1、Unity调用Android。
Unity块代码:
using (AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer")) { using( AndroidJavaObject jo = jc.GetStatic<AndroidJavaObject>("currentActivity")) { //调用Android插件中UnityTestActivity中StartActivity0方法,stringToEdit表示它的参数 jo.Call("StartActivity0",stringToEdit); } }
说明:Android模块中的StartActivity0方法所在的Activity必须继承自UnityPlayerActivity。
2、Android调用Unity
安卓代码块:
UnityPlayer.UnitySendMessage("Main Camera","messgae",edit.getText().toString());
参数1:Unity当前场景中的GameObject的名字。
参数2:Unity当前场景中表示参数1游戏对象绑定的脚本接收该消息的方法。
参数3:字符串参数。
3、Unity拉起Android的一个Activity。
首先:Unity调用安卓的一个方法,然后方法1中拉起安卓的 Activity。
Intent intent = new Intent(mContext,TestActivity0.class); intent.putExtra("name", name); this.startActivity(intent);
然后在拉起的安卓Activity中获取参数:
this.getIntent().getStringExtra("name")
然后就在安卓的Activity中可以操作这个参数。
当要重新拉起Unity的Activity,可以将当前的Activity.this.finish();,这样就关闭了Android的Activity。