Hi Guys,
I’m trying to start another Android App with some extra intent data. Here is my code:
public static bool OpenApp(string packageName, string extraKey = "", string extraValue = "")
{
#if UNITY_ANDROID
AndroidJavaClass unityPlayer = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
AndroidJavaObject unityActivity = unityPlayer.GetStatic<AndroidJavaObject>("currentActivity");
AndroidJavaObject pManager = unityActivity.Call<AndroidJavaObject>("getPackageManager");
AndroidJavaObject intent = null;
try
{
intent = pManager.Call<AndroidJavaObject>("getLaunchIntentForPackage", packageName);
if(extraKey != "")
{
intent.Call<AndroidJavaClass>("putExtra", extraKey, extraValue);
}
unityActivity.Call("startActivity", intent);
return true;
}
catch (Exception e)
{
...
}
#endif
return false;
}
But this always throws:
Failed to Opeen App: java.lang.NoSuchMethodError: no non-static method with name=‘putExtra’ signature=‘(Ljava/lang/String; Ljava/lang/String; )Ljava/lang/Class;’ in class Ljava.lang.Object;
However there does seem to be a method on Intent called ‘putExtra’ which takes two strings see here.
Any ideas what could be wrong?
Thanks