環信集成時常見錯誤


1、官方文檔是2.0+的介紹,里面的jar包名不同,所以導致內部的類所用的包名也不同個,集成時注意:

       com.easemob.chat.EMChatService(2.0+) com.hyphenate.chat.EMChatService(3.0+)

2、application中初始化的時候注意:

        EMChat.getInstance().setDebugMode(true);//在做打包混淆時,要關閉debug模式,避免消耗不必要的資源

3、在MyApplication中初始化環信時調用的EMChat.getInstance().init(this);方法一定要保證執行。

         首先,記得在清單文件的application標簽下注冊下我們創建的Myapplication  ,也就是在application標簽下加入:
         android:name=".Myapp"//這個是android studio下的格式,如果用eclipse需要放入全類名

                 如果是以上原因導致的inti()方法沒執行,會在環信注冊功能的時候    報:Can't create handler inside thread that has not calledLooper.prepare()錯誤

         另外,環信文檔中說明的為了防止初始化兩次,讓app中有第三方服務的時候寫入以下代碼:

       

1  
2 if (processAppName == null ||!processAppName.equalsIgnoreCase("com.easemob.chatuidemo")) {
3     Log.e(TAG, "enter the service process!");
4     //"com.easemob.chatuidemo"為demo的包名,換到自己項目中要改成自己包名
5  
6     // 則此application::onCreate 是被service 調用的,直接返回
7     return;
8 }                     

這個加入后會使得initial()方法返回false ,注冊時拋出: 注冊失敗:AppKey is not set  的異常信息。具體為什么可以參考以下博客,在此感謝博主分享

http://blog.csdn.net/gly742279097/article/details/43446973

             


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM