我正在尝试为Unity创建一个Android插件,只要我不需要当前的上下文就可以了。但如果我尝试打开一个简单的警告框,应用程序崩溃。任何人都知道我做错了什么?看起来不那么难......
Java代码:
public static void openAlert() {
new AlertDialog.Builder(UnityPlayer.currentActivity).setTitle("Test").setMessage("This is an alert box!").setNeutralButton("Ok", null).show();
}
来自团结,我正在做以下(c#):
using (AndroidJavaClass myUnityPlayer = new AndroidJavaClass("com.unity3d.player.UnityPlayer")) {
using (AndroidJavaObject obj_Activity = myUnityPlayer.GetStatic<AndroidJavaObject>("currentActivity")) {
AndroidJavaClass myActivity = new AndroidJavaClass("com.bundlename.appname.SampleClass");
myActivity.CallStatic("openAlert");
}
}
由于某些原因我没有收到来自设备的崩溃消息,这是一次盲目的飞行。我是c#和java开发的新手,请原谅我这是一个愚蠢的问题。
最佳
沃尔夫冈
答案 0 :(得分:0)
首先,您所做的任何修改用户界面的内容,例如消息,对话框,标签......等,都只能从主线程中完成。
我不知道你的制作来自哪里,但如果它不是主线程,你可能遇到这样的问题。
这个视频集帮我构建了我的android插件。
这是播放列表,他经历了整个开局。我会在第一个Android视频中启动你。
http://www.youtube.com/watch?v=s1Mle2ERiuQ&list=PLf8PfKIJPGkjhMgylU87G5A0JLMSy_8ad
有3个安卓视频,所有示例都有效,只需以高清晰度观看,即可阅读所输入的代码。