[Unity3D]调用Android接口
简介
有一些手机功能,Unity没有提供相应的接口,例如震动,例如不锁屏,例如GPS,例如...
有太多的特殊功能Unity都没有提供接口,这时候,我们就需要通过使用Android原生的ADT编辑器去编写Java代码,然后打包jar导入到Unity工程,然后通过Unity提供的调用Android接口的函数去调用jar包中的函数即可。
这里我们就介绍一下使用Unity实现手机震动效果
实现内容简要说明:
1. Android提供jar文件,xml文件,res目录,libs目录
2. 通过AndroidJavaClass去调用Android函数
另外,这些功能只能在真机上运行!
具体实现:
Android部分
1.下载AndroidSDK(需要包含ADT编辑器的)
官方下载连接:http://developer.android.com/sdk/index.html
2 创建Android项目
菜单位置:File ->New->Android Application Project
创建过程中,只有一下这个界面的内容需要更改,其他的使用默认的就行
生成后解决方案的目录如图
其中MainActivity就是我们需要编辑的java文件了
3. 导入Unity相关jar
Jar目录:unity的安装路径\Editor\Data\PlaybackEngines\androidplayer\bin下的classes.jar
通过AddExternalArchives添加,如图:
4. 导入jar后,就可以开始编辑相关的函数了,打开MainActivity
添加unityActivity,使MainActivity继承UnityPlayerActivity,并把SetContentView函数删掉(不然到手机上启动程序的时候就会只看到一句HelloWorld),这里用一个比较函数Max作为例子,有参数,有返回值
5. 到这里,需要的函数已经写完,再修改一下xml文件
Xml文件在工程文件目录下,叫AndroidManifest.xml
6. 接下来到处jar包
点击Export后选择Java目录下的Jar file,选择好路径之后按默认选项去到处jar文件即可
7. 到这里Android部分结束了
Unity部分
1. 设置PlayerSetting,要与Android的package对应上
2. 在Assets目录下添加Plugins\Android目录,把Android的jar文件,res文件夹,libs文件夹,xml文件放入该目录
3. 调用相关函数
(注:初步了解这里的参数之所以填”com.unity3d.player.UnityPlayer”和”currentActivity”,是因为在生成jar文件的时候,已经指定了MainActivityclass继承UnityPlayerActivity,也在XML指定了MainActivity是Main class)
引自:http://blog.csdn.net/xv_ly15/article/details/9314199
Android权限列表
另外,附上Android权限列表链接(http://blog.csdn.net/xv_ly15/article/details/9314299)
最新文章
- jQuery构造函数init参数分析(一)
- Java基础-包名和文件夹名字必须对应
- PLS入门
- 数位DP之奥义
- [20160704]Addition program that use JOptionPane for input and output
- JS调用BHO
- js高仿QQ消息列表左滑功能
- 图解Android - System Service 概论 和 Android GUI 系统
- CTO的眼界到底有多宽?
- ADO简单封装(MFC)
- 玩转CSLA.NET小技巧系列一:跳转页面丢失session,如何解决
- Asp.Net异常:";由于代码已经过优化或者本机框架位于调用堆栈之上,无法计算表达式的值";的解决方法
- 美国政府关于Google公司2013年度的财务报表红头文件
- 使用CMakeLists.txt 判断编译器是否支持C++11
- PHP实现记录日志(文件)
- 微信JS-SDK选择相册或拍照并上传PHP实现
- tomat startup.bat 日志乱码问题解决
- excle中如何将一串数字前后加上单引号
- JSP中forEach和forTokens循环的用法
- SQLite metadata
热门文章
- java static 关键字
- android上传文件到wamp服务器
- linux笔记:linux常用命令-用户管理命令
- Event 讲解
- C#项目打包后安装的桌面快捷方式图标怎么设置成自己想要的图标
- 最最最简单的轮播图(JQuery)
- cookie ,session Storage, local storage
- Completely disable mousewheel on a WinForm
- C线程同步/异步
- 报错解决:No Hibernate Session bound to thread, and configuration does not allow creation of non-transactional one here