AndroidApplication.unityPlayer
Declaration
public static AndroidJavaObject unityPlayer;Описание
Указывает экземпляр Java моста Unity, используемый операцией или службой.
Вы можете получить доступ к этому свойству из главного потока Unity, что означает, что вы можете использовать его в Start(), Awake()или в методах с RuntimeInitializeOnLoadMethodAttribute. Однако, вы не можете получить доступ к нему из конструкторов или инициализаторов полей, так как они вызываются в потоке загрузчика.
Примечание: Этот объект управляется временем выполнения Unity, так что не вызовайте на нем AndroidJavaObject.Dispose.
using UnityEngine; using UnityEngine.Android;
public class Controller : MonoBehaviour { void Start() { var bridgeClass = AndroidApplication.unityPlayer.Call<string>("toString"); var isActivity = bridgeClass.StartsWith("com.unity3d.player.UnityPlayerForActivityOrService"); var isGameActivity = bridgeClass.StartsWith("com.unity3d.player.UnityPlayerForGameActivity"); Debug.Log($"Class for Activity: {isActivity}, Class for GameActivity: {isGameActivity}"); } }