AndroidApplication.unityPlayer

public static AndroidJavaObject unityPlayer;

Description

Indicates the Unity bridge Java instance used by an activity or a service.

You can access this property from Unity's main thread which means you can use it in Start(), Awake(), or in methods with RuntimeInitializeOnLoadMethodAttribute. However, you cannot access it from constructors or field initializers as these are called on the loader thread.

Note: This object is managed by Unity runtime, so do not call AndroidJavaObject.Dispose on it.

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}"); } }

Did you find this page useful? Please give it a rating: