前言

在unity中接入sdk或者定制一些功能时,需要调用系统接口。安卓手机实际操作中,也就是Unity与android相互调用。我们在Unity中使用c#,android中使用java。
下面介绍他们如何相互调用。

c# 调用 java

c#调用:

protected AndroidJavaObject _activity;protected AndroidJavaObject _delegate;if (_activity == null){    AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer");     _activity = jc.GetStatic("currentActivity"); }_activity.Call("runOnUiThread", new AndroidJavaRunnable(() =>{    if (_delegate == null)    {        // com.company.project.test:自定义实现的类,不继承        _delegate = new AndroidJavaObject("com.company.project.test");    }}));// funcName java内实现的方法// _activity 当前activity// gameObjectName 绑定脚本的gameobject名字// callbackMethod 方法名_activity.Call("runOnUiThread", new AndroidJavaRunnable(() => {    _delegate.Call("funcName", _activity, gameObjectName, callbackMethod);}));

java 调用 c

// 引入包, 向Unity发送消息的静态方法写在这里。import com.unity3d.player.UnityPlayer;// 参数1:发送游戏对象的名称// 参数2:对象绑定的脚本接收该消息的方法,// 参数3:本条消息发送的字符串信息UnityPlayer.UnitySendMessage(gameObjectName, callbackMethod, param);

如有错误,欢迎指出。

email:dxmdxm1992#gmail.com

blog: http://blog.csdn.net/david_dai_1108

更多相关文章

  1. 我拆了个轮子--ANDROID WHEEL的实现(二)
  2. Android源码解析之(三)Android异步任务AsyncTask
  3. Android(安卓)如何使用使用数据库
  4. Android(安卓)WebView 总结 —— 使用HTML5播放视频及全屏方案
  5. Android开发教程 --- Android调用WS
  6. Android(安卓)Studio开发工具快捷键
  7. Ubuntu共享WiFi(AP)
  8. 【Android(安卓)Developers Training】 15. 启动一个Activity
  9. Android(安卓)dispatchTouchEvent介绍

随机推荐

  1. Android 之 使用File类在SD卡中读取数据
  2. Android如何获得系统(system)权限 !!!
  3. android :图片下载到本地后不让其在相册
  4. Android:UI控件风格与主题、selector、The
  5. 【Android】_UI设计_菜单导航
  6. Android——Handler学习(简单计时器例子)
  7. android --- listview 优化+复杂UI 《中
  8. Android应用篇 - Animation 和 Animator
  9. Android(安卓)Processdialog 用法
  10. Android 检测网络连接是否可用