Unity项目接收不到android的KeyEvent的解决办法
2014-08-01 12:58
423 查看
最近因工作需要,在研究android和untiy的通信机制。发现在Unity项目中,系统的dispatchKeyEvent方法无法响应。弄了好久也不知道所以然,偶然的机会了解到一种android和Unity通信的另一种方式,这个问题就豁然开朗了。
背景说明:untiy和android的通信有两种机制。
第一种:大家都比较熟悉,就是android项目打成jar包,然后将资源文件拷贝到指定的Unity项目中的目录下,即可。
第二种:是将unity项目导出为Eclipse项目,然后在Eclipse中进行开发。
这两主要介绍一下第二种方式
第一步,将你的unity项目导出为Eclipse项目,在导出的时候不需要拷贝任何的android资源到该项目下,只需定好该项目的包名即可。
第二步,将导出的项目导入Eclipse中,进行二次开发
将unity自动生成的几个Activity类的父类检查一下,如果发现是NativeActivity请修改为Activity。因为NativeActivity的属性就是监听不到dispatchEvent方法。这样你的Activity就能接收到系统KeyEvent了,是不是很简单?
另外你会发现在Eclipse项目中asset目录下有个bin文件夹,这个是untiy文件。如果修改unity项目,只需重新build,然后在将项目目录下的temp/StagingArea/assets/bin文件夹拷贝替换即可。
最后你就可以在Eclipse中打包你的apk文件了
注意:基本的通信机制其实没有变,只是实现方式有点变化而已。
UnityPlayer.UnitySendMessage通过该方法将android端的事件可以传给unity场景
友情提示,如果不知道怎么从Unity中导出Eclipse项目,请自行去网上搜索。
背景说明:untiy和android的通信有两种机制。
第一种:大家都比较熟悉,就是android项目打成jar包,然后将资源文件拷贝到指定的Unity项目中的目录下,即可。
第二种:是将unity项目导出为Eclipse项目,然后在Eclipse中进行开发。
这两主要介绍一下第二种方式
第一步,将你的unity项目导出为Eclipse项目,在导出的时候不需要拷贝任何的android资源到该项目下,只需定好该项目的包名即可。
第二步,将导出的项目导入Eclipse中,进行二次开发
将unity自动生成的几个Activity类的父类检查一下,如果发现是NativeActivity请修改为Activity。因为NativeActivity的属性就是监听不到dispatchEvent方法。这样你的Activity就能接收到系统KeyEvent了,是不是很简单?
另外你会发现在Eclipse项目中asset目录下有个bin文件夹,这个是untiy文件。如果修改unity项目,只需重新build,然后在将项目目录下的temp/StagingArea/assets/bin文件夹拷贝替换即可。
最后你就可以在Eclipse中打包你的apk文件了
注意:基本的通信机制其实没有变,只是实现方式有点变化而已。
UnityPlayer.UnitySendMessage通过该方法将android端的事件可以传给unity场景
友情提示,如果不知道怎么从Unity中导出Eclipse项目,请自行去网上搜索。
相关文章推荐
- Android开发静态注册广播接收不到的问题的解决办法
- Android导入的项目再次启动eclipse时提示The import android cannot be resolved的解决办法
- Eclipse安装ADT Plugin时发生错误,提示连接不到 https://dl-ssl.google.com/android/eclipse/...的解决办法!
- Android项目出现main.xml编译出错和 出现main.out.xml无法编译的解决办法
- Android项目导入出现The type java.lang.Object cannot be resolved.问题解决办法!!
- android导入项目时提示:invalid project description的解决办法
- Android导入项目后没有jar无法运行解决办法
- Android项目运行junit测试类时出现错误Internal Error (classFileParser.cpp:3494)的解决办法
- Eclipse安装ADT Plugin时发生错误,提示连接不到 https://dl-ssl.google.com/android/eclipse/...的解决办法!
- 移动开发:Eclipse安装ADT Plugin时发生错误,提示连接不到 https://dl-ssl.google.com/android/eclipse/...的解决办法!
- Android项目导入Eclipse出现错误解决办法
- Android项目出现main.xml编译出错和 出现main.out.xml无法编译的解决办法
- Android+Eclipse,创建项目总是出现 invalid project description. overlaps the workspace location的解决办法
- Android项目运行junit测试类时出现错误Internal Error (classFileParser.cpp:3494)的解决办法
- Android编译报R.java报不到的错误解决办法
- Android项目运行junit测试类时出现错误Internal Error (classFileParser.cpp:3494)的解决办法
- Eclipse中编译Android项目工程失败,提示: Error in an XML file: aborting build 解决办法
- Android项目导入时,出现的Could not write file 。。。。。。.classpath错误解决办法
- Eclipse 新建 android 项目时 Hierarchical Parent 必填的解决办法
- Android开发eclipse导入项目 @override错误解决办法