【每天坚持学一点之unity】1、Unity简单调用Android原生方法的一些记录

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u013375249/article/details/79793515

    本文的思路灵感来源于CSDN上的一篇博客,非常感谢原作者,原文地址为:

        https://blog.csdn.net/sinat_23156865/article/details/54143064

    之前一直是做PC端的一些东西的,所以对于Unity发布Android平台知之甚少。这次因为项目需要,发布android平台,需要调用Android原生方法。最后解决问题采用的方法个人觉得比较简单,也好理解,所以记录下来以防自己遗忘,或者能够帮助到他人。

    首先说一下,自己的开发环境是Unity5.6.5 + Android Studio3.1。首先定好Unity要调用的Android方法的方法名,比如说test()。在unity需要调用方法的地方,添加这样一个代码片段

public void CallAndroidFunction()
{
    AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
    AndroidJavaObject jo = jc.GetStatic<AndroidJavaObject>("currentActivity");
    jo.Call("test");
}

    

这里就调用了android中的无参方法test,如果有参数也可以传参,具体的可以自己去看一下。

    接着就是发布,将Unity工程导出成为一个android工程,用AndroidStudio打开工程。因为Unity发布出来的Android工程只有一个默认的UnityPlayerActivity,同时我需要调用的方法比较简单,于是就把该方法写到了UnityPlayerActivity里,记住一定是要同名方法,这里就是test()。

    最后打包出来的apk,就会在需要的时候调用需要的方法了。

    记录一下,防止遗忘,也希望大神能够多多指正。

猜你喜欢

转载自blog.csdn.net/u013375249/article/details/79793515