Unity_Android_SendMsg/Assets/UnityAndroidConnecter.cs

50 lines
1.3 KiB
C#

using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class UnityAndroidConnecter : MonoBehaviour
{
[Header("默认交互 包.静态类名(AndroidJavaClass)")]
[SerializeField] string defaultAndroidPackageClass= "com.cal.mylibrary.APIs";
private void Start()
{
CallAndroidMethod("setUnityLogger");
}
void CallAndroidMethod(string methodName, params object[] args)
{
using (AndroidJavaClass jc = new AndroidJavaClass(defaultAndroidPackageClass))
{
jc.CallStatic(methodName, args);
}
}
T CallAndroidMethod<T>(string methodName, params object[] args)
{
using (AndroidJavaClass jc = new AndroidJavaClass(defaultAndroidPackageClass))
{
return jc.CallStatic<T>(methodName, args);
}
}
private void Update()
{
if (Input.GetKeyDown(KeyCode.A) && Input.GetKey(KeyCode.LeftShift))
{
var application = CallAndroidMethod<AndroidJavaObject>("getApplication");
CallAndroidMethod("initPrinter",application);
}
}
public void ReceiveAndroidLogMsg(string args)
{
Debug.Log($"[Android]:{args}");
}
public void ReceiveAndroidErrorMsg(string args)
{
Debug.LogError($"[Android]:{args}");
}
}