Unity和Android通信系列文章1——总览
0.所用软件环境
android:Android Studio 3.0.1
Unity:Unity 2017.3.0
1.为什么需要Unity和Android通信?
当需要调用android端原生功能时,如:网络检测,断网之后,连网时,立即执行有网的操作;某些广告的sdk没有提供unity的plugin。
unity和android通信,就可以解决这些问题。
2.Unity和Android通信的方法简介
方法一:.unity这边导出android工程,然后在android这边扩展UnityPlayerActivity。(这个需要对android开发比较了解)
方法二:在android中写好方法,然后供Unity调用,提供jar
android可以提供jar包,(这个官方不推荐,这个没法打包资源,操作简单)
方法三:在android中写好方法,然后供Unity调用,提供aar
android可以提供aar包,(官方推荐,可以打包资源,操作稍微复杂点)
3.C#调用Android的方法
【Unity和Android通信系列文章1——总览】先记住这三句话,非常重要
//获得位于com.unity3d.player包下的UnityPlayer类
AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
//获取jc所代表的类下的currentActivity对象,就是Android那边继承UnityPlayerActivity的MainActivity
AndroidJavaObject jo = jc.GetStatic("currentActivity");
//第一个参数是方法名,后面的参数是方法需要的参数
text.text = jo.Call("add", 5, 3).ToString();
推荐阅读
- 急于表达——往往欲速则不达
- 第三节|第三节 快乐和幸福(12)
- android第三方框架(五)ButterKnife
- 20170612时间和注意力开销记录
- 2.6|2.6 Photoshop操作步骤的撤消和重做 [Ps教程]
- 对称加密和非对称加密的区别
- 眼光要放高远
- 樱花雨
- 前任
- 2020-04-07vue中Axios的封装和API接口的管理