前言
本案例使用Unity 2020.3.39f1c1与Android Studio 2021.3.1
前提条件:
1.你的Unity已经安装好Android平台模块,可以在UnityHub中查看。
2.Android Studio IDE已经安装好了,测试工程项目能正常运行。(如果未安装Android Studio 可以查看我的另外一篇文章《Android Studio IDE安装指南》)
一、创建Unity项目并导出
首先创建一个Unity空项目,在空场景中创建一个空物体名字为UnityGameDataMgr
注意:这个名字是等会再Android中向Unity发送消息时的API中必须要传的参数
然后在UnityGameDataMgr空物体上添加一个脚本,脚本中的代码如下:
using UnityEngine;
using System;
using UnityEngine.UI;
public class GameDataMgr : MonoBehaviour
{
public Button Btn_UnityExit;
public Button Btn_ShowMainActivityQuit;
public Button Btn_ShowMainActivityUnload;
public Text Txt_FormAndroidMessage;
string userData = "用户信息(UseData):张三,22,男";
private void Awake()
{
DontDestroyOnLoad(this);
}
private void Start()
{
Btn_UnityExit.onClick.AddListener(OnQuitUnity);
// 点击ShowMainActivityUnload按钮调用
Btn_ShowMainActivityUnload.onClick.AddListener(() =>
{
CallAndroidMethod("showMainActivity", false, ("UnloadSend:" + userData));
});
// 点击ShowMainActivityQuit按钮调用
Btn_ShowMainActivityQuit.onClick.AddListener(() =>
{
CallAndroidMethod("showMainActivity", true, ("QuitSend:" + userData));
});
}
/// <summary>
/// 调用UnityGameActivity的方法
/// </summary>
/// <param name="methodName">Android方法名称</param>
/// <param name="isFinish">方法参数1:是否结束UnityGameActivity</param>
/// <param name="data">方法参数2:具体数据</param>
private void CallAndroidMethod(string methodName, bool isFinish, string data)
{
#if UNITY_ANDROID
try
{
AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
AndroidJavaObject jo = jc.GetStatic<AndroidJavaObject>("currentActivity");
jo.Call(methodName, isFinish, data);
}
catch (Exception e)
{
Debug.LogError(e.Message);
}
#endif
}
/// <summary>
/// Android调用方法 在安卓UnityGameActivity OnCreate调用
/// </summary>
/// <param name="str"></param>
public void sendMessageToUnity(string str)
{
Debug.Log("Unity获取Android MainActivity发送过来的Token信息: " + str);
Txt_FormAndroidMessage.text = "来自Android MainActivity信息:" + str;
}
#

本博客介绍了将Unity项目嵌入Android项目的详细步骤。使用Unity 2020.3.39f1c1与Android Studio 2021.3.1,先创建并导出Unity项目,再创建Android项目并引入,最后导入Unity项目模块,还给出简单交互Demo创建与运行方法及常见问题解决办法。
最低0.47元/天 解锁文章
451

被折叠的 条评论
为什么被折叠?



