Как передать класс JNI C # в Java или справиться с этой ситуацией?

Я пытаюсь вызвать метод Java из C #, он называется так из Java:

EgamePay.pay(thisActivity, payAlias, new EgamePayListener() {
            @Override
            public void paySuccess(String alias) {
            }

            @Override
            public void payFailed(String alias, int errorInt) {
            }

            @Override
            public void payCancel(String alias) {
            }
        });

Первые два параметра в порядке, но как мне передать EgamePayListner в C #? Простое создание класса C # с теми же функциями не сработает ...

Вот что я сейчас делаю:

using (AndroidJavaClass jc = new AndroidJavaClass("cn.egame.terminal.smspay.EgamePay"))
        {
            System.IntPtr cls_Activity = AndroidJNI.FindClass("com/unity3d/player/UnityPlayer");
            System.IntPtr fid_Activity = AndroidJNI.GetStaticFieldID(cls_Activity, "currentActivity", "Landroid/app/Activity;");
            object[] p = { fid_Activity, "payAlias", new EgamePayListener() };
            jc.CallStatic("pay", p);
        }

..

 class EgamePayListener
    {
        public void paySucess(string alias)
        {
        }

        public void payFailed(string alians, int errorInt)
        {
        }

        public void payCancel(string alias)
        {
        }
    }

Очевидно, что это неправильно, как я могу справиться с этой ситуацией, чтобы я мог получать уведомления обратно в C # land, когда эти функции запускаются?

Ответы на вопрос(6)

Ваш ответ на вопрос