50 lines
1.3 KiB
C#
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}");
|
|
}
|
|
}
|