Skip to content

Instantly share code, notes, and snippets.

@kibotu
Last active September 6, 2023 16:27
Show Gist options
  • Star 15 You must be signed in to star a gist
  • Fork 2 You must be signed in to fork a gist
  • Save kibotu/7f5e705e485e17a72834 to your computer and use it in GitHub Desktop.
Save kibotu/7f5e705e485e17a72834 to your computer and use it in GitHub Desktop.
Get versionCode and versionName with unity.
//int vesioncode = context().getPackageManager().getPackageInfo(context().getPackageName(), 0).versionCode;
public static int GetVersionCode() {
AndroidJavaClass contextCls = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
AndroidJavaObject context = contextCls.GetStatic<AndroidJavaObject>("currentActivity");
AndroidJavaObject packageMngr = context.Call<AndroidJavaObject>("getPackageManager");
string packageName = context.Call<string>("getPackageName");
AndroidJavaObject packageInfo = packageMngr.Call<AndroidJavaObject>("getPackageInfo", packageName, 0);
return packageInfo.Get<int>("versionCode");
}
//int versionName = context().getPackageManager().getPackageInfo(context().getPackageName(), 0).versionName;
public static string GetVersionName() {
AndroidJavaClass contextCls = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
AndroidJavaObject context = contextCls.GetStatic<AndroidJavaObject>("currentActivity");
AndroidJavaObject packageMngr = context.Call<AndroidJavaObject>("getPackageManager");
string packageName = context.Call<string>("getPackageName");
AndroidJavaObject packageInfo = packageMngr.Call<AndroidJavaObject>("getPackageInfo", packageName, 0);
return packageInfo.Get<string>("versionName");
}
@Zammy
Copy link

Zammy commented Sep 13, 2018

Thank you!

@glenneroo
Copy link

glenneroo commented Mar 19, 2022

I get a NullPointerException on this line: contextCls.GetStatic<AndroidJavaObject>("currentActivity");
Should I bet putting some other string besides currentActivity?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment