@Override protected void onHandleIntent(Intent intent) { if (intent.getStringExtra(UPLOAD_CANCEL) != null) { // TODO: not completed yet .... Thread thread = runningTaskMap.get(intent.getStringExtra(UPLOAD_CANCEL)); if (thread != null) { thread.interrupt(); } else { Log.w(TAG, "Thread not found..." + runningTaskMap); } return; } final Message message = (Message) GsonUtils.getObjectFromJson( intent.getStringExtra(MobiComKitConstants.MESSAGE_JSON_INTENT), Message.class); Thread thread = new Thread(new MessegeSender(message)); thread.start(); if (message.hasAttachment()) { runningTaskMap.put(getMapKey(message), thread); } }