我必须在检测到图像时给Toast留言。 哪种方法最简单? 使用Unity或只使用没有本机调用的JAVA?
我已尝试过developer.vuforia.com网站上提供的所有方法
我试过了 1.如何扩展Unity Android活动 2.如何在Unity Apps中使用Android插件 3.如何通过Unity为Android添加视图 4.如何在目标检测和打开网站上显示Toast
但没有任何作用..请指导我或发送工作样本的链接
答案 0 :(得分:2)
我非常感谢你的努力。但是有一种非常简单的方法可以做到这一点:
试试这个脚本
使用UnityEngine; 使用System.Collections;
public class ShowToast : MonoBehaviour {
// Use this for initialization
void Start () {
MyShowToastMethod ();
}
string toastString;
AndroidJavaObject currentActivity;
public void MyShowToastMethod ()
{
if (Application.platform == RuntimePlatform.Android) {
showToastOnUiThread ("It Worked!");
}
}
void showToastOnUiThread(string toastString){
AndroidJavaClass UnityPlayer = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
currentActivity = UnityPlayer.GetStatic<AndroidJavaObject>("currentActivity");
this.toastString = toastString;
currentActivity.Call ("runOnUiThread", new AndroidJavaRunnable (showToast));
}
void showToast(){
Debug.Log ("Running on UI thread");
AndroidJavaObject context = currentActivity.Call<AndroidJavaObject>("getApplicationContext");
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");
}
}
答案 1 :(得分:0)
我正在使用统一扩展但我非常确定核心编码基因是相同的。图像目标使用名为DefaultTrackableEventHandler的类,并且有OnTrackingFound()函数。一旦检测到图像就会调用它,这样您就可以在那里实现消息!无论如何我就是这样做的。祝你好运