AndroidJavaObject.Call array passing error (Unity for Android)

前端 未结 2 650
时光取名叫无心
时光取名叫无心 2021-01-20 05:17

I\'m working on Unity for Android application, which uses native Android plugin. Inside of it I use AndroidJavaObject\'s Call method.

As it

2条回答
  •  深忆病人
    2021-01-20 05:41

    Arrays require special treatment when being sent to an AndroidJavaObject. Taken from this article, you can implement a function that will handle it like so:

    private AndroidJavaObject javaArrayFromCS(string [] values) {
        AndroidJavaClass arrayClass  = new AndroidJavaClass("java.lang.reflect.Array");
        AndroidJavaObject arrayObject = arrayClass.CallStatic("newInstance", new AndroidJavaClass("java.lang.String"), values.Count());
        for (int i=0; i

    You can then call into your function like this:

    myAndroidJavaObject.Call("myMethod", javaArrayFromCS(strings));
    

提交回复
热议问题