可以将 Android 项目中 Java 代码拷贝到 Unity 项目中 Assets 子目录下,如下,接着就可以通过 AndroidJavaClass 或 AndroidJavaObject 访问 Java 代码了。 2)打包 Jar 到 Unity 项目 可以将 Android 项目打包为 Jar,再将 Jar 拷贝到 Unity 项目中 Assets 子目录下,接着就可以通过 AndroidJavaClass 或 AndroidJavaObject...
可以将 Android 项目中 Java 代码拷贝到 Unity 项目中 Assets 子目录下,如下,接着就可以通过 AndroidJavaClass 或 AndroidJavaObject 访问 Java 代码了。 2)打包 Jar 到 Unity 项目 可以将 Android 项目打包为 Jar,再将 Jar 拷贝到 Unity 项目中 Assets 子目录下,接着就可以通过 AndroidJavaClass 或 AndroidJavaObject...
Unity调用Android 一、关于AndroidJavaClass和AndroidJavaObject 1、AndroidJavaClass是获取到一个具体的类。例如:AndroidJavaClass jc = new AndroidJavaClass(com.abc.b.a); com.abc.b是包名,a是具体的Java类。然后jc就可以调用a类中的静态函数了,类似于C#之中的调用静态函数的方式。当然,也可以获取静态变量。 这个时候,...
在Unity脚本中,通过AndroidJavaObject和AndroidJavaClass来调用Java代码。 // 举例调用安卓原生的ToastAndroidJavaClassunityPlayer=newAndroidJavaClass("com.unity3d.player.UnityPlayer");AndroidJavaObjectcontext=unityPlayer.GetStatic<AndroidJavaObject>("currentActivity");AndroidJavaClasstoastClass=newAndroidJavaClass("android.widge...
AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer"); AndroidJavaObject jo = jc.GetStatic<AndroidJavaObject>("currentActivity"); string str = jo.Call<string>("getPath"); java调用c# 同jar包方式。 unity项目这里注意下,setting的这两个设置最好一致,或者比unity的minimum api低 ...
再等等,有时候我们需要传入并不是一个类型,而是一个枚举,这种情况下要怎么办?其实是一样的,在Unity中,Android不管是类还是枚举,我们都可以通过使用AndroidJavaClass和AndroidJavaObject来使用。比如说,java中有这样一个枚举 LoginPlatform package com.test.login ...
一种是通过AndroidJavaClass类,建立在AndroidJNIHelper的基础上 一种是通过AndroidJavaObject类,建立在AndroidJNI的基础上,是AndroidJavaClass的父类 在这里我们通过AndroidJavaObject来调用,简单。还有一个原因,通过AndroidJavaClass调用时,打包的时候光报错,搞了两天也没解决bug, 心中万匹草泥马奔腾而过,所以果断放弃了这个方法,...
得到类:AndroidJavaClass class=new AndroidJavaClass(“包名.类名”); 得到对象:AndroidJavaObject obj =new AndroidJavaObject(“包名.类名”); 调用方法:obj.Call(“方法名”); 调用静态方法:class.CallStatic(“方法名”); obj.CallStatic(“方法名”); ...
注解1:让代码放置在using中是为了告诉垃圾回收站及时的回收垃圾,建议这样来写代码。AndroidJavaClass表示一个java类,AndroidJavaObject表示一个java对象,在上一章已经明确说明。另外还有一些其它的方法,比如调用静态方法等,都在API中写的很清楚,大家可以查阅学习。
AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer"); AndroidJavaObject jo = jc.GetStatic<AndroidJavaObject>("currentActivity"); jo.Call("StartActivity0","第一个Activity");先得到AndroidJavaClass,然后得到AndroidjavaObject就是当前Activity的对象,也就是我们在上面创建的主UnityTest...