2017-04-16 16 views
1

나는 android 용 SMS-MMS 볼트 응용 프로그램을 개발 중입니다. 그 목적은 안드로이드에 존재하는 몇 가지 취약점을 수정하고 특정 연락처 (암호화 된 SMS 및 MMS)간에 "안전한"통신 공간을 생성하는 것입니다.이미지 및 텍스트에 대한 수신 된 MMS 구문 분석

MMS 수신 기능을 제외한 모든 기능을 구현했습니다. 이 문제에 대한 문서를 찾지 못했습니다. 나는이 기능을 구현하는 다른 응용 프로그램에서 많은 코드를 읽었으며 모두 스톡 응용 프로그램이 MMS를 수신하고 나서 검색하는 것을 기다린다.이 응용 프로그램은 내 응용 프로그램이 필요하기 때문에 찾고있는 것이 아니다. 디폴트의 ​​값 나는 이미지와 텍스트를 구문 분석 할 방법은 MMS가 의도받은 후

:

그래서 여기 내 질문을 구걸? 당신 이제

String type = cursor.getString(cursor.getColumnIndex("ct")); 
String partId = cursor.getString(cursor.getColumnIndex("_id")); 


//is type a picture 
if ("image/jpeg".equals(type) || "image/bmp".equals(type) 
    || "image/gif".equals(type) || "image/jpg".equals(type) 
    || "image/png".equals(type)) { 
        getMmsImage(partId); // load in your picture 
     } 

을 : 유형 검사를 할 :

답변

0

그래서 당신이 사진을 얻기 위해 무엇을 할 수 있는지 나는 MMS의 ID를 가져 가서 ("// MMS/일부 컨텐츠")을 통과하다 당신은 단지 그것을 원하는 경우에 당신은 당신이 할 수있는 비트 맵으로는, 예를 들어 원하는 무엇이든을 사용하여로드 할 수 있도록 사진의 위치를 ​​알고있는 부분 ID를 가지고 :

public Bitmap getMmsImage(String _id, Context context) { 

     Uri partURI = Uri.parse("content://mms/part/" + _id); 
     InputStream is = null; 
     Bitmap bitmap = null; 
     try { 
      is = context.getContentResolver().openInputStream(partURI); 
      bitmap = BitmapFactory.decodeStream(is); 

     } catch (Exception e) {// probably should do an ioException around here} 
     finally { 
      if (is != null) { 
       try { 
        is.close(); 
       } catch (IOException e) {} 
      } 
     } 
     return bitmap; 
    } 

지금 내가 지적하고 싶은 당신 경우 애니메이션 GIF를 원했지만 작동하지 않습니다. GIF가로드되지만 여전히 i가됩니다. 마법사. 애니메이션을 원한다면 Glide과 같은 것을 사용할 수 있으며 uri의 경로 위치를 지정할 수 있습니다. Glide는 GIF를로드하는 데 시간이 좀 걸리지 만 공정한 경고입니다.

수신 MMS의 경우 관찰자가 변경 사항이 있다고 말할 때마다 항상 관찰자를 사용하여 추가 된 메시지를로드 할 수 있습니다. 또는 기본 메신저로 사용하려면 브로드 캐스트 수신기를 사용하십시오.