2010-06-02 2 views
24

이 코드는 기본 Android 시스템과 함께 일반 Google 장치에서 작동합니다. 그러나이 HTC 감지 장치의 목록에 MMS 응용 프로그램입니다 그리고 난 모토로라 블러 등 : 모르는Android : 안드로이드 기기에서 MMS를 보편적으로 보낼 수 있나요?

final Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND); 
    emailIntent.setType("image/png"); 
    emailIntent.putExtra(Intent.EXTRA_STREAM, uri); 
    context.startActivity(Intent.createChooser(emailIntent, context.getString(R.string.send_intent_name))); 

이 코드는 HTC 감각하지만 정말 필요한 선택자에서 작동합니다 :

Intent sendIntent = new Intent("android.intent.action.SEND_MSG"); 
    sendIntent.putExtra(Intent.EXTRA_STREAM, uri); 
    sendIntent.setType("image/png"); 
    context.startActivity(sendIntent); 

하지만 함께이 코드 샘플을 결합하고 내가 프로그래밍 HTC 센스 UI를 결정하는 방법을 모른다 방법을 모르겠어요. 다른 유형의 장치를 지원하는 것이 올바른 방법입니까?

답변 해 주셔서 감사합니다.

+3

당신이 [이 질문] 본 적이 [1] ? 몇 가지 샘플 코드가 있습니다. [1] : http://stackoverflow.com/questions/2972845/i-want-send-image-through-using-mms-in-android/2973016#2973016 – EboMike

+0

@EboMike 나는 당신이 참조 EboBirthday를 만들어 준 사람 감사합니다! 그것은 처음 나온 이후로 그것을 사용하여 한 멋진 프로그램입니다. – JPM

+0

@ JPM 나는 감사합니다. JPM :) – EboMike

답변

1

당신은 거기에 HTC의 의도에 대해 응답자의 다음 지점 여부를 감지 할 수 :

intent = new Intent("android.intent.action.SEND_MSG"); 
intent.putExtra(Intent.EXTRA_STREAM, uri); 
intent.setType("image/png"); 

resolves = getActivity().getPackageManager().queryIntentActivities(intent, 
     PackageManager.MATCH_DEFAULT_ONLY); 

if (resolves.size() > 0) { 
    // This branch is followed only for HTC 
    context.startActivity(intent); 
} else { 
    // Else launch the non-HTC sense Intent 
    intent = new Intent(android.content.Intent.ACTION_SEND); 
    intent.setType("image/png"); 
    intent.putExtra(Intent.EXTRA_STREAM, uri); 
    context.startActivity(Intent.createChooser(intent, 
      context.getString(R.string.send_intent_name)));  
} 
+0

나는 비슷한 것을하고있다 !!! http://stackoverflow.com/questions/14452808/sending-and-receiving-mms-in-android – toobsco42

1

당신은 다음과 같이 사용할 수 있습니다

Intent i = new Intent(Intent.ACTION_SEND); 
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
i.putExtra(Intent.EXTRA_EMAIL, new String[]{""}); 
i.setType("video/3gp"); 
i.putExtra(Intent.EXTRA_STREAM, Uri.parse("file://" + attachmentFilePath)); 
startActivity(i); 
관련 문제