Unity与AndroidStudio通信

  private AndroidJavaClass jc;
  private AndroidJavaObject jo;

  // Start is called before the first frame update
  void Start()
  {
      using (jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer"))
      {
          using (jo = jc.GetStatic<AndroidJavaObject>("currentActivity"))
          {
              jo.Call("UnityCallAndroid");
          }
      }
  }

  //unity调用Android
    public void UnityCallAndroid () {

        Toast.makeText(this,"unity调用android成功", Toast.LENGTH_LONG).show();

        AndroidCallUnity();
    }

    //android调用unity
    public void AndroidCallUnity () {

        //第1个参数为Unity场景中用于接收android消息的对象名称
        //第2个参数为对象上的脚本的一个成员方法名称(脚本名称不限制)
        //第3个参数为unity方法的参数
        UnityPlayer.UnitySendMessage("receiveObj", "UnityMethod", "This is args.");
    }

猜你喜欢

转载自blog.csdn.net/qq_38513810/article/details/133105387