Skip to content

Instantly share code, notes, and snippets.

@Guendeli
Created September 28, 2016 10:08
Show Gist options
  • Star 9 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Guendeli/b3248108e82cf32444eea7061bd4554d to your computer and use it in GitHub Desktop.
Save Guendeli/b3248108e82cf32444eea7061bd4554d to your computer and use it in GitHub Desktop.
a script to show Toast Messages on Android Unity3D Apps
using UnityEngine;
public class ToastMessage : MonoBehaviour
{
string toastString;
string input;
AndroidJavaObject currentActivity;
AndroidJavaClass UnityPlayer;
AndroidJavaObject context;
void Start()
{
if (Application.platform == RuntimePlatform.Android)
{
UnityPlayer = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
currentActivity = UnityPlayer.GetStatic<AndroidJavaObject>("currentActivity");
context = currentActivity.Call<AndroidJavaObject>("getApplicationContext");
}
}
public void showToastOnUiThread(string toastString)
{
this.toastString = toastString;
currentActivity.Call("runOnUiThread", new AndroidJavaRunnable(showToast));
}
void showToast()
{
Debug.Log(this + ": Running on UI thread");
AndroidJavaClass Toast = new AndroidJavaClass("android.widget.Toast");
AndroidJavaObject javaString = new AndroidJavaObject("java.lang.String", toastString);
AndroidJavaObject toast = Toast.CallStatic<AndroidJavaObject>("makeText", context, javaString, Toast.GetStatic<int>("LENGTH_SHORT"));
toast.Call("show");
}
}
@lasithalakmal
Copy link

What is showToast at 2nd line in showToastOnUiThread method?

@sasherafat-zz
Copy link

hi
why currentActivity.Call("runOnUiThread", new AndroidJavaRunnable(showToast));
return null?

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