AndroidJavaObject是Unity中用于与Android平台进行交互的类。它允许Unity应用程序调用Android的Java方法,并且可以传递参数和接收返回值。AndroidJavaObject.Call方法是用于调用Android的Java方法的函数,它可以在Unity的脚本中使用。 使用AndroidJavaObject.Call方法可以实现Unity与Android之间的双向通信。例如,可以通过调用Android的Ja...
public class ExampleClass : MonoBehaviour { void Start() { AndroidJavaObject jo = new AndroidJavaObject("android.content.res.Configuration"); jo.Call("setToDefaults"); } } public ReturnType Call (string methodName, params object[] args); パラメーター methodName 呼び出する特定のメソッド名 ...
4.将 jar 导入 Unity 工程中的 Assets/Plugins/Android/ 5.使用 AndroidJavaObject.Call 等方式调用 参照这个教程:https://www.jianshu.com/p/8256c0da444a 但是不要用最新的Android Studio版本,要和教程的保持一致,不然生成的jar包的文件夹都找不到,根本就没有。 这个当中还遇到别的问题,比如打开新建工程,上来...
_javaObject=newAndroidJavaObject("com.example.jni.ExampleJavaClass");// 无返回值的函数_javaObject.Call("TestFuncVoid",12345);// 有返回值的函数intresult=_javaObject.Call<int>("TestFuncInt",12345); Java Call C++ Java函数签名标记native表示这个函数是JNI调用C++执行。调用前需要保证对应的so已经加载,...
如果你需要唤起其他的 Activity,就在上方第二行,将“currentActivity” 改成你在 AndroidManifest.xml 中注册的 Activity 名字,然后就可以通过 AndroidJavaObject.Call 的方式调用那个 Activity 类里的接口。如果这个接口在这个 Activity 类里被标记成了 static,还可以通过AndroidJavaObject.CallStatic 的方式调用。
1usingSystem.Collections;2usingSystem.Collections.Generic;3usingUnityEngine;45publicclassTest : MonoBehaviour {67voidOnGUI()8{9//方法一10try{11varjavaClass =newAndroidJavaObject("com.hello.world.MainActivity");12stringvalue1=javaClass.Call<string>("test");13GUI.Label (newRect(10,10,500,500),...
其中必须要有UnityMethod方法,因为它在AndroidCallUnity方法中的UnityPlayer.UnitySendMessage的第二个参数已经指定了。如果不存在的话,调用就会出错。 jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer"); jo = jc.GetStatic<AndroidJavaObject>("currentActivity"); ...
上面这段代码实例化一个AndroidJavaObject对象,用来调用安卓的方法,需要注意的是,这里的对象参数就是刚才编写的Java代码中,对应的是Package名称和Class名称,这样子我们才能精准找到该对象。 接着通过Call方法可以调用Java方法,Call方法第一个参数为要调用的方法名,后面的参数就是我们的传参,有多少就写多少。如果该方法有...
AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer"); AndroidJavaObject jo = jc.GetStatic<AndroidJavaObject>("currentActivity"); jo.Call("StartActivity0","第一个Activity");先得到AndroidJavaClass,然后得到AndroidjavaObject就是当前Activity的对象,也就是我们在上面创建的主UnityTest...
Unity开发过程中,如果要调用Android端的java方法,恰巧该方法的参数是可变参数或者数组,使用unity的AndroidJavaObject提供的call方法直接传递c#数组,是需要对数组参数做一下处理。举例说明: java方法如下: public void addList(String... values){ } unity c#调用时,需要把传入的参数数组转化成一个AndroidJavaObject,然后再...