@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // connect server User user = BmobUser.getCurrentUser(this, User.class); BmobIM.connect( user.getObjectId(), new ConnectListener() { @Override public void done(String uid, BmobException e) { if (e == null) { Logger.i("connect success"); // 服务器连接成功就发送一个更新事件,同步更新会话及主页的小红点 EventBus.getDefault().post(new RefreshEvent()); } else { Logger.e(e.getErrorCode() + "/" + e.getMessage()); } } }); // 监听连接状态,也可通过BmobIM.getInstance().getCurrentStatus()来获取当前的长连接状态 BmobIM.getInstance() .setOnConnectStatusChangeListener( new ConnectStatusChangeListener() { @Override public void onChange(ConnectionStatus status) { toast("" + status.getMsg()); } }); // 解决leancanary提示InputMethodManager内存泄露的问题 IMMLeaks.fixFocusedViewLeak(getApplication()); }
private void checkRedPoint() { int count = (int) BmobIM.getInstance().getAllUnReadCount(); if (count > 0) { iv_conversation_tips.setVisibility(View.VISIBLE); } else { iv_conversation_tips.setVisibility(View.GONE); } // 是否有好友添加的请求 if (NewFriendManager.getInstance(this).hasNewFriendInvitation()) { iv_contact_tips.setVisibility(View.VISIBLE); } else { iv_contact_tips.setVisibility(View.GONE); } }
@Override protected void onDestroy() { super.onDestroy(); // 清理导致内存泄露的资源 BmobIM.getInstance().clear(); }