Unity与Android的相互交互

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。

小时候我把老婆种到地下,长大了我能收获一大堆老婆! 我是威少,我是一名Unity游戏的主程,我为自己带盐,希望此文能给您一点点微不足道的帮助,祝你成功!
原文地址:https://www.cnblogs.com/vsirWaiter/p/6027961.html