안드로이드 개발 질문/답변
(글 수 45,052)
/**
* MMS Send
* @param context
* @param urlString
*/
public void sendMMS(Context context, ArrayList<String> urlString) {
boolean exceptionCheck = false;
Intent sendIntent = new Intent();
// Selection count
if(urlString.size() > 1){
sendIntent.setAction(Intent.ACTION_SEND_MULTIPLE);
}
}else if(urlString.size() == 1){
sendIntent.setAction(Intent.ACTION_SEND);
}else{
Toast.makeText(this, "Please Check the Image.", Toast.LENGTH_LONG).show();
exceptionCheck = true;
}
if(!exceptionCheck){
sendIntent.setData(Uri.parse("mmsto:"));
sendIntent.addCategory("android.intent.category.DEFAULT");
ArrayList<Uri> uris = new ArrayList<Uri>();
for(String file : urlString){
File fileIn = new File("file://" + file);
Uri u = Uri.fromFile(fileIn);
uris.add(u);
}
sendIntent.setType("image/jpeg");
if(urlString.size() > 1){
sendIntent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, uris);
}
}else{
sendIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse("file://" + urlString.get(0)));
}
}
try{
startActivity(sendIntent);
}catch(Exception e){
Toast.makeText(this, "Send Failed..", Toast.LENGTH_LONG).show();
}
}
}위 소스와 같이 MMS에 이미지를 첨부하는 기능을 구현하였습니다.
하지만, 문제는 위 메소드를 실행시키면,
안드로이드 기본 팝업이 뜨며, 단말내에 설치된 SEND가 가능한 모든 어플이 표시됩니다.
그 중에 MMS가 있긴한데, 다른 어플은 모두 제외시키고 MMS(메세지)만 보여줄 수 있는 방법이 있나요?
기본앱에서는 MMS로 바로 가지던데.. 오픈소스를 봐도 위의 방식과 동일한 방식을 사용하던데..
뭔가 잘못된 게 있나요?
아시는분 답변부탁드리겠습니다.




Intent sendIntent = new Intent(Intent.ACTION_VIEW, mmsUri );
이렇게 하시면 폰의 기본 MMS 전송창이 뜹니다.