问题描述
hi,诸位环信前辈们,不知道有没有人试过给环信做unity3D的插件?我现在正在尝试中(只懂的基础android开发),现在我在unity呼叫任何EMChat.getInstance()开头的那些例子码,都会给我Exception in initializer error, 就卡在这里了(环信文档的确是要求init是要在继承Application的class里面的onCreate里呼叫,是不是在别的地方呼叫环信init都不可以启动它和实例化啊?)。 我现在是eclipse建了个library project,建了一个专门提供给unity呼叫的java class,本想将所有环信的api都wrap在这个java class里,然后出jar给Unity去呼叫,看来这样是不行了究竟是不是在其他地方呼叫 EMChat.getInstance().init(uPlayerActivity) 都不可以启动它和实例化啊?只有在继承Application的class里面的onCreate里呼叫才能管用啊? 如果是一定的话,如果我要给unity做插件,我可以怎么做才好啊? 把整个常规android app project出成jar才去给unity用?
解决方案
唉,终于通了,怎么都要我在unity发起一个新的intent,然后在用那个新activity获取application context输入给EMChat才通,直接用UnityPlayerActivity获取application context给EMChat就怎么都不通,究竟是为什么啊?UnityPlayerActivity 也是一个继承 activity 的东西啊,怎么就不可以呢。anyway, 虽然硬要发起新intent这做法不优雅,但是通了我都懒得理它了