Unity为我们提供了一个叫做AndroidJavaProxy的类,我们可以通过继承这个类然后重新写其构造函数并将传入ILoginCallBack的完整路径,并在这个类中实现ILoginCallBack的方法即可。 public class WeLoginAndroidAdapter : AndroidJavaProxy, ILoginCallBack { public WeLoginAndroidAdapter() : base(WeShareDefine.ModooShareCal...
我们需要使用Unity的UnityPlayerActivity来启动Unity场景,并通过Java代码进行交互。以下是基本的代码结构: importcom.unity3d.player.UnityPlayerActivity;importandroid.os.Bundle;publicclassMainActivityextendsUnityPlayerActivity{@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);// ...
AndroidJavaObject helper = new AndroidJavaObject(“pers.study.android2unity.Helper”); helper.Call(“setAndroudForUntiyListener”, listener); 3、调用Android继承于unityplayerActivity的activity静态方法 下面两行是必写的,且参数“com.unity3d.player.UnityPlayer”,“currentActivity”是固定的,不能更改。用于获...
6.添加Android中的pay方法,还记得之前我们在Unity代码中的jo.Call("pay")么 在Unity中点击支付宝按钮之后就会执行Android中的pay方法(这段代码的意思是调用支付宝界面,大家可以忽略,以后讲Unity接入支付宝支付功能的时候会详细讲解)。这个方法可以接收Unity传过来的参数,当然我们这里没用到就不过多描述了,现在我们已...
Android代码中编写方法,反射调用该类com.unity3d.player.UnityPlayer中的静态方法UnitySendMessage,第二个入参为Unity中的GameObject对象名称,第三个入参为要执行的方法名,第四个参数为要传递的数据(只能传递一个字符串,需要传递多种类型,可约定好分隔符后拼接成字符串,Unity端按分隔符进行分割)。
Android代码: 1 2 3 publicvoidlogin( String str ) { // 写上自己的操作 } 以上就是网上的方法。 当我自己实际测试的时候发现,Android这边的login()不一定要写在com.unity3d.palyer包名下的UnityPalyer类下。 你只需要把login()写在你自己定义包名下的UnityPlayerActivity.java中就可以了。当然了,该类肯定是...
最后得到的AndroidManifest和res的格式如下 修改后的AndroidManifest res目录结构 2.2 引入unity的 classes.jar包 找到unity的classes.jar包。windows下和mac下包的路径分别为 C:\ProgramFiles\Unity\Editor\Data\PlaybackEngines\AndroidPlayer\Variations\mono\Release\classes.jar /Applications/Unity/PlaybackEngines...
对于客户端开发来说,与原生交互是一件非常重要的事情。这里跟大家分享下 Unity 与 原生 Android 交互的方法。 Unity 调用 Android 原生方法 在日常开发过程中,会遇到一些 Unity 无法实现,或者说 Unity 和 C# 没有相应的接口,只能通过原生的方法去访问或者实现的场景。
作为一个Unity程序员,总会遇到原生接入sdk的这个问题,本文作为Unity和Android交互的基础教程,默认观看者有 Android稍微懂一点点的知识(读过《第一行代码》这本书的前两章) 本文为Unity原生开发,即AndroidStudio打成aar包放到Unity中。如果想看Unity二次开发,即Unity生成Android包放到Android中,请看我的另一篇文章Unity...
Unity 调用 Android Java 原生方法可以通过 C# 反射去调用 Java 的方法 //获取类,主要用于获取静态字段或调用静态方法,常用来获取 UnityPlayerAndroidJavaClass jc =newAndroidJavaClass("com.unity.game.UnityPlayerActivity");//获取静态字段,只有泛型版本AndroidJavaObject jo = jc.GetStatic<AndroidJavaObject>("currentAct...