So, let's say you have a Unity Java plugin, you call into the Java plugin like so
private static readonly AndroidJavaClass m_somePlugin = new AndroidJavaClass("com.unity3d.Plugin.blah.SomePlugin");
using (var unityPlayer = new AndroidJavaClass("com.unity3d.player.UnityPlayer"))
{
using (var currentActivity = unityPlayer.GetStatic<AndroidJavaObject>("currentActivity"))
{
m_somePlugin.CallStatic("onInitialise", currentActivity);
}
}
and the plugin looks something like this
public class SomePlugin
{
static public void onInitialise(final Activity currentActivity)
{
Handler someHandler = new Handler();
}
}
All quite simple. Except it will crash. Creating a Handler is the cause. I'm guessing it's a thread issue.
So the question is, how does one create a handler in a Java plugin, in the activity that I'm passing in? Anyone know?