using System.Collections; using System.Collections.Generic; using UnityEngine; public class DeviceIdHandle : MonoBehaviour { private static DeviceIdHandle _instance; private AndroidJavaObject oaidActivity; public static DeviceIdHandle Instance { get { if (_instance is null) { var go = new GameObject("DeviceIdHandle"); _instance = go.AddComponent(); DontDestroyOnLoad(go); } return _instance; } } public void GetOAID() { if (oaidActivity == null) { // 获取当前的 Android Activity using (AndroidJavaClass unityPlayer = new AndroidJavaClass("com.unity3d.player.UnityPlayer")) { oaidActivity = unityPlayer.GetStatic("currentActivity"); } } // 调用 Android 的 GetOAID 方法 AndroidJavaObject utils = new AndroidJavaObject("com.example.oaidtest2.OAID_Activity"); utils.Call("GetOAID", gameObject.name, "OnOAIDReceived"); //oaidActivity.Call("GetOAID", gameObject.name, "OnOAIDReceived"); } // 回调方法,用于接收 OAID private void OnOAIDReceived(string oaid) { Debug.Log("Received OAID: " + oaid); } }