1.代码篇
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
/// <summary>
/// Discription:A String Extension Powered byMemoryC
/// Functions: extension a string text to showAsToast, toJavaString, or Speak out
/// CopyRight:MemoryC
/// Time:2017.02.15
/// </>
/// </summary>
public static class MemoryCString
{
#if UNITY_ANDROID
/// <summary>
/// Show String as Toast.
/// </summary>
/// <param name="text">Text.</param>
/// <param name="activity">Activity.</param>
public static void showAsToast(this string text, AndroidJavaObject activity = null)
{
Debug.Log(text);
if (activity == null)
{
AndroidJavaClass UnityPlayer = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
activity = UnityPlayer.GetStatic<AndroidJavaObject>("currentActivity");
}
AndroidJavaClass Toast = new AndroidJavaClass("android.widget.Toast");
AndroidJavaObject context = activity.Call<AndroidJavaObject>("getApplicationContext");
activity.Call("runOnUiThread", new AndroidJavaRunnable(() =>
{
AndroidJavaObject javaString = new AndroidJavaObject("java.lang.String", text);
Toast.CallStatic<AndroidJavaObject>("makeText", context, javaString, Toast.GetStatic<int>("LENGTH_SHORT")).Call("show");
}
));
}
public static AndroidJavaObject toJavaString(this string CSharpString)
{
return new AndroidJavaObject("java.lang.String", CSharpString);
}
#endif
}
2.这是一个底层的封装好的代码
使用案例如下:
在任何类当中,定义
string aa=//value;
aa.showAsToast();
就可以在真机下方显示