0

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 の開発に慣れていないので、これがばかげた質問であればすみません。

一番

ヴォルフガング

4

1 に答える 1

0

まず、メッセージ、ダイアログ、ラベルなど、ユーザー インターフェイスを変更することはすべて、メイン スレッドからのみ行う必要があります。

あなたの呼び出しがどこから来ているのかわかりませんが、それがメイン スレッドでない場合、このような問題が発生する可能性があります。

このビデオ セットは、私の Android プラグインを構築するのに役立ちました。

これがプレイリストです。彼はすべての作戦を実行します。最初の Android ビデオから始めましょう。

http://www.youtube.com/watch?v=s1Mle2ERiuQ&list=PLf8PfKIJPGkjhMgylU87G5A0JLMSy_8ad

3 つの android ビデオがあり、すべての例が機能します。高解像度で見るだけで、入力されているコードを読むことができます。

于 2013-09-17T16:39:34.890 に答える