[Android 개발 어플] MMS 직접 전송방식 (Intent 이용하는 방식 아님) - Victor MMS Sender Version 2.0.2

2018. 8. 22. 17:58Programing/Created by me



[Recent Version History]
Version 3.1.0 - https://victor8481.tistory.com/893
Version 3.0.0 - https://victor8481.tistory.com/824

Version 2.0.3 - 
https://victor8481.tistory.com/notice/767
Version 2.0.2 - 
http://victor8481.tistory.com/719
Version 2.0.0 - 
http://victor8481.tistory.com/716


소스 프로젝트 명 : Victor MMS Sender

Victor MMS Sender는 구글에서 제공하지 않는 개별 앱에서 MMS를 전송 가능하게 해주는 Library 입니다.

해당 라이브러리는 SMS/LMS/MMS 수발실이 모두 가능하게 구현 되었으며, 주요 목적은 개별 App에서 MMS를 전송하게 하기 위합니다.

해당 라이브러리는 몇몇 Open Source를 발굴하여 이를 한국 및 전 세계에서 동작 가능하게 수정 되었음을 명시합니다.


안드로이드 오레오 (8.0 & 8.1)까지 완벽 지원!! 

안드로이드 9.0 지원을 위한 Framework Update 및 검증 완료!!


1. History

2-2. Version 2.0.2

- WiFi가 켜져있는 경우 미발송 되는 문제 수정

In private void reinstateWifi() { & private void revokeWifi(boolean saveState) {

[Before]  context.getApplicationContext().

[After]    context.

2-1. Version 2.0.1

- 안드로이드 9.0 검증 진행

- 구글 픽셀2 폰 사용 - SKT/KT 검증 완료, U+ 검증 불가 (픽셀2 P-OS에서는 U+ 망 안 붙음 / O-OS는 정상)

- Framework Update이후 LMS 발송 안되는 문제 수정

Okhttp downgrade from 3.0 to 2.5 (몇몇 기기에서 불안정한 동작이 있어, 안정 된 버전으로 변경)

- Update gradle version to 4.4 from 3.x

- Enhancement Network connection management

- Fix the address problem ("-"이 번호에 추가되는 경우 미 발송 문제 - NW에서 무시하는 경우가 있음)

- NW Connection Management 안정성 향상

2-0. Version 2.0.0

- 안드로이드 9.0 지원을 위해서 Main Framework Update 및 안정화 작업

- OkHttp Library Version 업데이트

  - Explicitly define "sent" and "delivered" broadcasts

  - 몇몇 특정 기기에서 발생하는 Crash 수정

  - BroadcastReceivers의 Threading 향상

  - 검증 용 어플 기능 향상 (uCrop & Chip 적용 및 마이너 버그 수정)

1-9. Version 1.6.1

- 안드로이드 8.1 (오레오 MR1) 버전 검증 완료 - 완벽 지원

- 안드로이드 7.0 이상 버전에서 발생하는 "Too many NetworkRequests filed" 문제 수정 및 검증 완료

- KT 망에서 간헐적으로 발송되지 않는 문제 수정

- 프로가드 추가 및 코드 안정화

1-8. Version 1.6.0

- 안드로이드 8.0 (오레오) 버전 검증 완료 - 완벽 지원

  검증에 사용한 안드로이드 8.0 인증 - http://victor8481.tistory.com/676

- 코드 안정화 작업

- GIF/Video 1회만 전송되는 문제 수정 (통신사 규정 변경),

- JPGE (정지화상)은 문제 없음

1-7. Version 1.5.1

- 안드로이드 7.0/7.1/7.2 (누가/MR1/MR2) 버전 검증 완료 - 완벽 지원

- 코드 안정화 작업

- IMS MMS 기능 구현 완료

- 안드로이드 스튜디오 지원 및 이클립스 지원 중단

- 안드로이드 3.0 미만 버전 공식 지원 중단 (지원 가능한 코드는 포함.)

- 추가 검증 진행 (겔럭시 S8 EDGE 누가 버전 - 통신 3사 검증 완료)

1-6. Version 1.5

- 안드로이드 7.0(누가) 버전 검증 완료 - 완벽 지원

- 이미지 3장까지 Slide 방식이 아닌, 개별 화면으로 전송 가능하게 추가

- 코드 안정화 작업

- 추가 검증 진행 (겔럭시 S7 EDGE 누가 버전 - 통신 3사 검증 완료 / LG G6 누가 버전 - 통신 3사 검증 완료)

1-5. Version 1.4

- GIF 전송 기능 추가

- 코드 안정화 작업

- 추가 검증 진행 - G5 / 겔럭시 Note 5 / 겔럭시 S7 / 겔럭시 S7 엣지 등 최신 기종

1-4. Version 1.3

- 안드로이드 6.0 (마시멜로우) 버전 검증 완료 - 완벽 지원

- 코드 안정화 작업

- 추가 검증 진행

  거래 업체를 통해서 LGE Lab에서 LGE 기반 단말기들의 대부분 모델에서 검증 진행 및 Pass
  LG-F310L (GX), LG-F300L (Vu3), LG-F240L (옵티머스 G Pro), LG-F340L (G Flex), 
  LG-430L (GX2), LG-F490L (G3 Screen), LG-F350L (G Pro 2), 
LG-580L (젠틀), LG-F620L (CLASS),
  LG-F400L (G3), LG-F470L (G3 Beat), LG-F510L (G Flex2), LG-LU6500 (옵티머스 Q2), LG-F500L (G4), 
  LG-F540L (Volt)

- 라이브러리 Type의 Function 추가 
  이미지와 수신자의 정보에 따라서 일대일 / 일대다 / 다대일 / 다대다로 전송 가능한 API가 추가되었으며, 
  웹 상의 URL 주소 추가 만으로도 Image 첨부 전송이 가능한 기능이 추가되었습니다.

1-3. Version 1.2

 동영상 및 보이스, VCard, VCalender 첨부 기능 추가 및 안정성 향상

1-2. Version 1.1

 문제 2. 3.0 미만 버전에서는 어플이 죽는 문제 수정 및 정상 전송

 - 원   인 : PDU 전송을 위해 매커니즘으로 3.0부터 새로 들어가 기능으로 인해서 
              Class Not Found로 어플이 죽음

 - 해결책 : 3.0 버전에서는 전송 방식을 다르게 변경하여 전송 성공 (비 공개)

 - 검증 기기

   > 자체 검증 기기

      스카이 : 베가 IM-A650S(2.2.1), 겔럭시 노트 1 (2.3)

       지금 현재에는 2.3 버전을 사용하는 기종을 구하기 쉽지 않아, 한 대 밖에 확인이 안됨.

       추후 기종이 확보대는 대로 확인 예정.

      1-1. Version 1.0

Library for easily sending SMS and MMS for Android devices (Open Source)


위의 방법을 이용하는 경우 초기 개발 시 아래와 같은 문제점이 존재 하였습니다.

문제 1. 메시지 전송 시 Message Body와 Image가 전송되지 않고, Subject만 전달 됨.

- 원   인 : Victor MMS Sender에서는 해당 부분이 
             국내와 해외의 PDU Format 방식이 다르게 운영되기 때문

- 해결책 : 해당 Format 방식을 국내 방식으로 변경 후 정상 발송

- 검증 기기

  > 자체 검증 기기 (4.0 이상 버전)

     삼   성 : 겔럭시 노트1, 노트 2, 노트 3, 노트 4, 겔럭시 S2, S3, S4, S5, 

     엘   지 : G2, G3, G3 스타일러스, G3 비트, Gpro, Gpro lite, Gpro2, 캣6, 뷰2, 
                   옵티머스 L5 등 해외 폰 다수

     스카이 : 베가 레이서, R3, LTE, 넘버 6, 아이언, 

     구   글 : 넥서스 4, 5 (JB Version 부터 Lollipop Version까지)

  > 다수 업체에서 진행을 하였으나, 어떠한 기종이였는지는 확인 안 됨.


문제 2. 3.0 미만 버전에서는 어플이 죽는 문제 확인


소스는 현재 판매 중이므로, 관련 사항에 대한 가이드 또는 Open 하지 않고 있습니다. 또한, 소스 구현 가이드에 대한 메일 또는 쪽지에 대한 회신을 드리지 않습니다.

이점 양해 부탁 드리겠습니다.


문의 메일 : victor8481@hotmail.com

데모 APK : 

vMMSApp-release.apk