zoukankan      html  css  js  c++  java
  • Unity3D调用android方法(非插件方式)

    关于Unity3Dproject与androidproject的转换与合并,请參考我的另外一篇博客。假设你对Unity3Dproject增加到androidproject的过程不熟悉。也请先看完以下这篇博客:

    android与Unity3D交互,fragment显示unity3d视图。

    以下,我们来说说本博客的终端,Unity3D调用android的方法:

    1.首先,在网络上大家能够看到非常多把android project打包,然后以插件的方式,放入Unity3D工程中来调用的方式,这样的方式,我不做评论,可是非常麻烦,所以我也没有进行尝试。大家有兴趣能够到网络上搜索一下看看。

    2.假设讲Unity3D的project导出为android project然后进行再次开发的过程中。须要Unity3D调用android的方法,这个时候,再使用1中的方法。显然是不合适的。


    那么我们要怎么样来做呢?分为以下几部分:

    1.在初始化UnityPlayer的Activity中加入方法,例如以下:

    /**
    	 * 測试Unity调用Android的方法
    	 */
    	public void testMethod(String param){
    		System.out.println("參数为:"+param);
    	}

    对于提供的方法,不能够进行UI操作,由于Unity3D对于android的UI线程来说,仅仅是个子线程。假设要进行UI操作,能够使用Handler发消息。


    2.在Unityproject中。利用c#文件来书写,Unity调用的代码:

    public static void ActivateShareImage(string content)
        {
            if (Application.platform == RuntimePlatform.IPhonePlayer)
            {
                _PressButton3(content);
            }
            else if (Application.platform == RuntimePlatform.Android)
            {
                UISystem.Console("test method!");
    
                AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
                AndroidJavaObject jo = jc.GetStatic<AndroidJavaObject>("currentActivity");
                jo.Call("testMethod", "unity");
            }
            else
            { 
            
            }
        }
    3,假设你已经有android项目了,那么就把新修改的Unity3D的项目导出为android project的,把新导出的project中的assets的目录,替换掉之前老的project中的,这样做的目的是更换Unity的修改,假设修改了其它的东西,也是这样更换的。可是假设你的assets目录下还有其它资源。请保留。

    假设。你没有android项目,那么就把Unity3D的项目导出为android的project项目使用。


    4.对于AndroidJavaClass这个类。以及它提供的方法,大家能够參考以下的站点:

    AndroidJavaClass 安卓Java类


    这样,就能够完毕调用了。根本就不须要使用插件。关于android向Unity3D发送消息,日后会发博客叙述。

  • 相关阅读:
    第四次作业--个人作业--软件案例分析
    第五次作业--团队项目--需求规格说明书
    Beta版本的贡献率
    软工实践总结
    beta版本冲刺第四天
    beta版本冲刺第三天
    beta版本冲刺第一天
    Beta版本冲刺计划及安排
    团队项目冲刺总结
    项目冲刺第六天
  • 原文地址:https://www.cnblogs.com/yfceshi/p/7357071.html
Copyright © 2011-2022 走看看