- Home /
How to write a java lib for unity as a plugin to make run another android app?
I want to run another android app, when finish my unity game.
Features needed
Run another app on android os with app name/project name
As a unity plugin, can be easily accessed by c#
Do you know how to achieve this features?
I read this about the unity plugin, and this about this about launcher.
There is a plugin, it seemd that it worked for me. But I do not have a payment method to but the aseest.
Answer by Bunny83 · Jan 27, 2016 at 06:11 PM
You don't really need a plugin for that. You said you read the forum post about "launcher" so you have missed this post? It only uses pure JNI functions from C#. No additional plugins are needed.
I haven't tested it myself. He doesn't dispose any of the java objects he creates which is actually quite bad. It should be something like this:
// C#
public static void LaunchApp(string aBundleIdentifier)
{
using(var unityPlayerClass = new AndroidJavaClass("com.unity3d.player.UnityPlayer"))
using(var unityActivity = unityPlayerClass.GetStatic<AndroidJavaObject>("currentActivity"))
using(var packageManager = unityActivity.Call<AndroidJavaObject>("getPackageManager"))
{
AndroidJavaObject launchIntent = null;
bool fail = false;
try
{
launchIntent = packageManager.Call<AndroidJavaObject>("getLaunchIntentForPackage", aBundleIdentifier);
}
catch (System.Exception e)
{
fail = true;
}
if (fail || launchIntent == null)
{
// app is not installed
Application.OpenURL("market://details?id=" + aBundleIdentifier);
}
else
{
// launch app
unityActivity.Call("startActivity", launchIntent);
}
if (launchIntent != null)
launchIntent.Dispose();
}
}
As said, not tested.
edit
Of course to use this you need to pass the "bundle identifier" / "package name" of the other app. For example subway surfers has: "com.kiloo.subwaysurf".
I'm not sure if "OpenURL" works with market links to send you to the appstore. You have to try it for yourself.
Your answer
![](https://koobas.hobune.stream/wayback/20220612061905im_/https://answers.unity.com/themes/thub/images/avi.jpg)
Follow this Question
Related Questions
Help building changes to .java file included in Unity supplied package. 1 Answer
How do I override an Android Java class in Unity? 1 Answer
Problem reading sensor plugin, event won't trigger 2 Answers
Now that Unity 4.1.2 broke the Android plugin examples, what do you use to learn them? 1 Answer
java android plugin worker thread ends up in Unity mainthread 1 Answer