Unity简单调用Android原生方法的一些记录

发表于2018-04-18
评论0 4.3k浏览

本文的思路灵感来源于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,就会在需要的时候调用需要的方法了。

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

如社区发表内容存在侵权行为,您可以点击这里查看侵权投诉指引

标签:

0个评论