Ich bezog mich hier, bis ich überhaupt jar anrief https://ghoul-life.hatenablog.com/entry/2019/01/26/030622
Als ich versuchte, die sensorbezogene Funktion des Terminals in der aufgerufenen Java-Methode aufzurufen, NoClassDefFoundError ist aufgetreten Anscheinend verliere ich den Überblick über die Klasse selbst, wenn ich versuche, den Android-Kontext innerhalb einer Methode zu verwenden.
Ich habe einen Weg gefunden, Android-Kontext von Unity nach Java zu senden, und der Aufruf war erfolgreich. https://www.itread01.com/content/1546405986.html
Unity:
AndroidJavaClass androidJavaClass = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
AndroidJavaObject activity = androidJavaClass.GetStatic<AndroidJavaObject>("currentActivity");
AndroidJavaObject javaPlayer = new AndroidJavaObject("jp.co.sample.MyClass");
string isSensorAvalable = javaPlayer.Call<string>("myMethod", activity);
// Mit oder ohne Schrittsensor "true" / "false"
Java:
public String myMethod(Activity mainActivity) {
Context context = (Context) mainActivity;
PackageManager packageManager = context.getPackageManager();
return String.valueOf(packageManager.hasSystemFeature(PackageManager.FEATURE_SENSOR_STEP_COUNTER));
//歩数センサーが端末にあるかどうかを返す }
Recommended Posts