Android中调用Unity3D探索

调用方式

Android中调用U3D可以通过:

public static void UnitySendMessage(String var0, String var1, String var2)

第一个参数是指:调用方法所在脚本文件对应的gameobject名称,
第二个参数是指:调用方法名称,
第三个参数是指:调用参数(如果有多个参数,需要自己拼接,在Unity端接收后再拆解成多个参数)
此方法内部调用的是:

private static native void nativeUnitySendMessage(String var0, String var1, String var2);

在Unity3D和Android生命周期的测试中,我们发现Unity的生命周期要晚于Android,因Unity3D的调用在OnResume之后开始,也就意味着如果在Android端调用Unity端方法时,建议在OnResume后,否则因为Unity的加载等因素,会导致调用必须在OnResume之后才能完成。
以下是在Android生命周期中调用Unity3D相应处理方法的测试。

测试

测试发现:
在Android在调用Unity的方法需要在OnResume后才能得到Unity的响应,同样,在锁屏后android中可以正常响应,但Unity端已无法响应,需要等亮屏后且onResume后才能响应。

Android中调用Unity3D探索_第1张图片

总结

若想在Android内调用Unity3D内的功能,建议在OnResume和OnPause间进行,以防因U3D尚未加载完成或已结束,导致功能延迟。

更多相关文章

  1. adb通过wifi连接android设备的方法
  2. 在 android 上运行 python 的方法
  3. 饭后Android 第一餐-NavigationView+Toolbar(NavigationView使用
  4. Android jni 常用方法备忘
  5. Android SQLite使用方法
  6. 用VS2010开发Android应用的配置方法
  7. Activity对象的onCreate方法真是Android程序的入口吗?
  8. Android测试教程(2):测试基础

随机推荐

  1. Android培训班(72)Dex文件里类定义dvmDef
  2. 【Android】通过Java代码替换TabHost中的
  3. sdk platform tools is missing please u
  4. [置顶] android中屏幕触摸事件
  5. Android(安卓)各国语言缩写-各国语言简称
  6. android shape的使用 2
  7. 1.Android(安卓)Studio 环境搭建并配置Ge
  8. 关于使用Google提供的ZXing扫描二维码Dem
  9. Picasso源码分析
  10. StikkyHeader——为滚动视图添加粘性头部