Comunicación de Unity y Android: Unity exporta el paquete del proyecto de Android, agrega el código en AndroidStudio y publica el APK.

          Primero escriba el script de prueba en Unity:


using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class AndroidTest : MonoBehaviour {

    public InputField _field;
    public Text _text;

    /// <summary>
    /// Unity调用安卓方法
    /// </summary>
    public void OnClickBtn1() {
        AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
        AndroidJavaObject jo = jc.GetStatic<AndroidJavaObject>("currentActivity");
        jo.Call("U3D_ShowToast1");
    }
    /// <summary>
    /// 给安卓传递参数
    /// </summary>
    public void OnClickButton2()
    {
        AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
        AndroidJavaObject jo = jc.GetStatic<AndroidJavaObject>("currentActivity");
        jo.Call("U3D_ShowToast2", _field.text);
    }
    /// <summary>
    /// 接收安卓返回值
    /// </summary>
    public void OnClickButton3()
    {
        AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
        AndroidJavaObject jo = jc.GetStatic<AndroidJavaObject>("currentActivity");
        _text.text = jo.Call<string>("U3D_GetValue");
    }
    /// <summary>
    /// 安卓调用Unity方法
    /// 这里通过 Unity调安卓 安卓调Unity 
    /// </summary>
    public void OnClickButton4()
    {
        AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
        AndroidJavaObject jo = jc.GetStatic<AndroidJavaObject>("currentActivity");
        jo.Call("U3D_ShowToast3", "Canvas", "BecallFunc","123456789");
    }
    //安卓调Unity的方法
    private void BecallFunc(string _contest) {
        SetUILabelText(ref _contest);
    }

    private void SetUILabelText(ref string value)
    {
        _text.text = value;
    }
}

       Métodos de enlace de cuatro botones, configure el nombre del paquete y luego exporte el proyecto:

Después de exportar queda de la siguiente manera:

Abra Android Studio:

 

Agregar guión:

 public void U3D_ShowToast1(){

        Toast.makeText(this,"U3D_ShowToast1",Toast.LENGTH_LONG).show();
    }
    public void U3D_ShowToast2(String pInput){
        Toast.makeText(this,pInput,Toast.LENGTH_LONG).show();
    }
    //unity调用android的方法返回一个字符串
    public String U3D_GetValue(){
        return "hmy";
    }
    //android调用unity的方法
    //第一个参数是unity中的物体对象名字
    //第二个参数是函数名
    //三个参数是传给函数的参数
    public void U3D_ShowToast3(String objName,String funname, String info){
        UnityPlayer.UnitySendMessage(objName,funname,"Info:"+info);
    }

Busque Construir en el menú—》Construir APK. Después del empaquetado exitoso, instale el APK en el dispositivo para probarlo.

Vídeo de prueba:

Unity lo exporta como un proyecto de instalación y publica el APK antes de probarlo.mp4

 

 

 

Supongo que te gusta

Origin blog.csdn.net/hemiaoyuan1989/article/details/105734995
Recomendado
Clasificación