java C#

作者: 陷阱_5610 | 来源:发表于2021-08-19 11:57 被阅读0次

--------------------------------------------------C# call java---------------------------------------------------

using RininRes;

using System.Collections;

using System.Collections.Generic;

using UnityEngine;

namespace XXX

{

public class XXMgr:RSSingleton<XXMgr>

{

public static AndroidJavaClass jc;

public AndroidJavaObject jo;

public bool callAds = false;

private static string JAVA_CLASS_Name = "com.xxx.cr.MainActivity";

public void Init()

{

CallAdsFunc();

}

private void CallAdsFunc()

{

try

{

jo = new AndroidJavaClass(JAVA_CLASS_Name);

jo.CallStatic("init");

//调用Java方法

callAds = true;

}

catch (System.Exception ex)

{

callAds = false;

}

}

public void SendLogin()

{

SendEvent("cb_open");

SendEvent("cb_login");

if (GameMgr.Instance.Level <= 0)

{

SendEvent("cb_register");

}

}

public void SendEvent(string eventId)

{

try

{

jo.CallStatic("SendEvent", eventId);

}

catch (System.Exception e)

{

Debug.LogError(string.Format("Call SendEvent****", e));

}

}

public void SendPay()

{

            try

            {

jo.CallStatic("pay");

}

            catch (System.Exception e)

            {

Debug.LogError(string.Format("Call SendEvent****", e));

            }

}

}

}

----------------------------------------java-----------------------------------------------------------

public class MainActivity {

    private static Activity unityActivity;

    private static Context context;

    public static void init(){

        getActivity();

    }

    private static Activity getActivity(){

        if(null == unityActivity) {

            try {

                Class<?> classtype = Class.forName("com.unity3d.player.UnityPlayer");

                Activity activity = (Activity) classtype.getDeclaredField("currentActivity").get(classtype);

                unityActivity = activity;

                context = activity;

                initSdk();

            } catch (ClassNotFoundException e) {

                System.out.println(e.getMessage());

            } catch (IllegalAccessException e) {

                System.out.println(e.getMessage());

            } catch (NoSuchFieldException e) {

                System.out.println(e.getMessage());

            }

        }

        return unityActivity;

    }

public static void JavaCallUnityFunc(String mge){

        //参数1:参数1表示发送游戏对象的名称   参数2:方法名   参数3:要传递的参数

        UnityPlayer.UnitySendMessage("Main Camera", "InitCallback", mge);

    }

-------------------------java call C#----------------------------

public void InitCallback(string code)

        {

            Debug.Log("Call UNITY***"+ code);

        }

相关文章

  • c#中的反射

    都说c#和java差不多,会了java,c#基本都会了。我对java还是很熟的,对oc也比较熟,但是c#感觉还是过...

  • java与C#的AES加密、解密

    java代码: C#代码:

  • C#知识分享

    一、C#与JAVA package | namespace Type primitive type(C# val...

  • BATJ面试官花样分析,C#和Java之间的主要区别

    介绍 本文主要为C#开发人员了解Java提供一些基础。 Java中缺少C#的功能 C#包含更多原始类型和捕获算术异...

  • webpack入门

    何为模块? 如果你曾学过 Java , C# 之类的语言,一定会知道 Java 中的 import 或 C# 中的...

  • 游戏系统机器人

    mono C#项目简介 想必C#玩家往往受到Java玩家的嘲笑,不能写移动端。mono C#的目的正是通过C#的中...

  • unity3d 获取logcat android

    废话不多先上代码java c#

  • 4.1常用日期操作

    程序员经常把java和C#做对比,说java语法多么多么的不简练,C#多么多么的简洁,其中经常说的就是java的日...

  • C#学习笔记(一)2018.05.15

    C#学习笔记(一) 笔者是在有Java编程经验(《Java语言程学设计》作者:梁勇)的基础上,进行C#的学习。 编...

  • C#的性能能比Java高吗?

    以前我不敢说,C#跑Windows,性能当然比Java高,Java跑Linux更多,C#比不了,关公战秦琼这事儿最...

网友评论

      本文标题:java C#

      本文链接:https://www.haomeiwen.com/subject/slbobltx.html