Unity 安卓视图获取不到事件焦点问题解决办法 (untiy安卓事件失效问题)
昨天,一个朋友用的我之前写的webview的代码。然后说webview显示的网页获取不到焦点。不能点击滑动等。然后我测试了下。发现是Unity的问题。
查看Unity的官方文档后,发现原因如下:
NativeActivity在Android2.3以后被引入而且不支持该版本以下的设备。因为触摸/运动事件处理在本机代码,Java视图通常不会看到这些事件。然而,在统一转发机制允许将事件传播到DalvikVM
解决办法有两个:
方法一
1. 在Untiy生成安卓工程。然后讲默认继承 NativeActivity 的类 改为继承 Activity 即可。但这又会出现一个问题。就是 Activity 会出现不能旋转屏幕问题。
方法二
2.生成安卓工程。然后修改 AndroidManifest.xml 配置文件。 将 activity 中的
<meta-data android:name="unityplayer.ForwardNativeEventsToDalvik" android:value="false" />
改为
<meta-data android:name="unityplayer.ForwardNativeEventsToDalvik" android:value="true" />
也可以在unity中的Plugins\Android修改xml配置。具体参考 http://www.bobsong.net/383.html
这样就能触发安卓试图的时间以及unity的事件了。
值得注意的是。这样如果在安卓视图下有unity的事件。这问题就好解决了。只需在unity中加个挡板就行了。