Привет всем.Я работаю в режиме киоска для проекта единства.Для этого я экспортирую свой проект Gradle Unity.Я генерирую AAR из этого в андроид студии.И я создаю окончательный проект Android Studio, импортируя свой проект единства AAR, и моя активность на Android запускает Activity Unity.Я хотел бы, чтобы методы единства запускали мою последнюю MainAcitivty. Для этого вот мой сценарий Unity:
public static AndroidJavaClass androidClass;
public static AndroidJavaObject androidActivity;
void Start()
{
androidClass = new AndroidJavaClass("com.test.through.MainActivity");
}
void Update()
{
androidActivity = androidClass.GetStatic<AndroidJavaObject>("testTrigMethod");
}
И это мой код единства MainActivity:
package com.test.through;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.content.Intent;
import android.util.Log;
import com.sortie.unity.UnityPlayerActivity;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Intent intent= new Intent(getApplicationContext(), UnityPlayerActivity.class);
startActivity(intent);
}
public void testTrigMethod()
{
Log.i("unityTag ", "Receive Trig From UNITY");
}
}
Это не работает.. Консоль logacat говорит мне:
java.lang.NoSuchFieldError: no "Ljava/lang/Object;" field "testTrigMethod" in class "Lcom/test/through/MainActivity;" or its superclasses
Я довольно потерян с этим отправкой и получением от / на android и unity Activity и синтаксиса androidJavaclass / Object в единице .. У некоторых из вас были бы какие-топодсказки об этом?