在Unity 编辑器执行以下步骤:
File-->Build Settings-->Switch Platform(Android)-->Export Project(勾选)-->Export
用 Android Studio 打开项目
1.Unity 调用 Android 代码:
private void Start()
{
AndroidJavaClass ajc = new AndroidJavaClass("com.unity3d.player.UnityPlayer");//UnityPlayer类
AndroidJavaObject ajo = ajc.GetStatic<AndroidJavaObject>("currentActivity");//currentActivity为静态内存区对象,实际为UnityPlayerActivity实例
ajo.Call("showMsg", "Unity过来的消息!");//showMsg为方法,后面为参数
}
Android 端代码定义:
public class UnityPlayerActivity extends Activity implements IUnityPlayerLifecycleEvents
{
/**
* Unity 调用
* @param msg
*/
public void showMsg(String msg) {//当前为子线程
runOnUiThread(new Runnable() {//主线程更新ui
@Override
public void run() {
if(textview!=null){
textview.setText(msg);
}
}
});
}
}
2.Android 调用 Unity 代码:
private void initView() {
Button btn = new Button(this);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {//Player为脚本挂载的物体,setMsg为方法,后面是参数
UnityPlayer.UnitySendMessage("Player", "setMsg", "Android过来的消息!");
}
});
}
Unity 端代码定义:
/**
* Android 调用
**/
public void setMsg(string msg)
{
Debug.log(msg);
}