package com.shayu.onetoone; import android.os.Handler; import android.os.Looper; import android.os.Process; import android.util.Log; import com.alibaba.android.arouter.launcher.ARouter; import com.facebook.FacebookSdk; import com.shayu.onetoone.activity.fragments.message.ChatMessageFragment; import com.shayu.onetoone.activity.message.ChatActivity; import com.shayu.onetoone.utils.NeverCrashUtils; import com.yunbao.common.BuildConfig; import com.yunbao.common.CommonAppContext; import com.yunbao.common.manager.imrongcloud.InstructorSendRewardProvider; import com.yunbao.common.manager.imrongcloud.RongcloudIMManager; import com.yunbao.common.utils.AppManager; import io.rong.imkit.RongIM; import io.rong.imkit.config.RongConfigCenter; import io.rong.imkit.utils.RouteUtils; import io.rong.imlib.IMLibRTCClient; import io.rong.imlib.RongIMClient; import io.rong.imlib.model.Message; public class AppContext extends CommonAppContext { @Override public void onCreate() { super.onCreate(); NeverCrashUtils.getInstance() .setDebugMode(BuildConfig.DEBUG) .setMainCrashHandler((t, e) -> { Log.e("ApplicationError", "主线程异常");//此处log只是展示,当debug为true时,主类内部log会打印异常信息 e.printStackTrace(); AppManager.runDebugCode(() -> { //闪退后finish所有Activity并且杀死进程 Process.killProcess(Process.myPid()); System.exit(0); new Handler(Looper.getMainLooper()).postDelayed(() -> { throw new RuntimeException(e); }, 100); }); }) .setUncaughtCrashHandler((t, e) -> { Log.e("ApplicationError", "子线程异常");//此处log只是展示,当debug为true时,主类内部log会打印异常信息 e.printStackTrace(); }) .register(this); FacebookSdk.setApplicationId("126035687816994"); ARouter.openLog(); ARouter.openDebug(); ARouter.printStackTrace(); ARouter.init(this); String appKey = "pvxdm17jpd3hr"; boolean enablePush = true; RongIM.init(this, appKey, enablePush); RongcloudIMManager.initRongIM(this); RongConfigCenter.conversationConfig().addMessageProvider(new InstructorSendRewardProvider(getApplicationContext())); RongcloudIMManager.addRongcloudIMOnReceiveMessageListener(new RongIMClient.OnReceiveMessageWrapperListener() { @Override public boolean onReceived(Message message, int left, boolean hasPackage, boolean offline) { return false; } }); RouteUtils.registerActivity(RouteUtils.RongActivityType.ConversationActivity, ChatActivity.class); } }