Android中调用Unity3D探索
16lz
2021-01-23
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内的功能,建议在OnResume和OnPause间进行,以防因U3D尚未加载完成或已结束,导致功能延迟。
更多相关文章
- adb通过wifi连接android设备的方法
- 在 android 上运行 python 的方法
- 饭后Android 第一餐-NavigationView+Toolbar(NavigationView使用
- Android jni 常用方法备忘
- Android SQLite使用方法
- 用VS2010开发Android应用的配置方法
- Activity对象的onCreate方法真是Android程序的入口吗?
- Android测试教程(2):测试基础