2010-12-06 4 views
2

매우 표준 코드를 사용하여 내 앱에서 이미지를 보내고 있습니다. 사용자가 자신의 기본 메시징 앱이 선택기에 나타나지 않았다고 이메일로 알 렸습니다. 이상하게도 휴대 전화에서 이상한 일이 발생했습니다. 나는 의도의 MIME 유형으로 놀고 있었다. "text/plain"에는 내 메시지 앱을 포함한 옵션 집합이 표시되고 "*/*"에는 1 톤이 표시됩니다. 나는 MIME 형식을 "*/*"으로 설정하는 게으른가요? 그래서 사용자가 이미지를 보낼 수있는 옵션이어야하는 어플리케이션에 의해 필터링되지 않습니까? 아니면 갈 길이 멀지 않은가? 내가 좋아하지 않는이의MIME 유형 및 ACTION_SEND 인 텐트 선택자

 Intent intent = new Intent(Intent.ACTION_SEND); 
     intent.setType("image/jpeg"); 
     Uri uri = Uri.fromFile(file); 
     intent.putExtra(Intent.EXTRA_STREAM, uri); 
     activity.startActivity(Intent.createChooser(intent, "Custom Heading...")); 

한 부작용은 몇 가지 응용 프로그램 (페이스 북, Handcent)는 다수의 의도는 다양한 MIME 유형을 보낼 등록 있다는 것입니다, 그래서 그들은 목록에 두 번 이상 나타날 때 MIME 유형은 "*/*"입니다.

답변

4

당신의 MIME 타입을 처리해야 메시징에 내장, 그래서 플랫폼 특정 문제 일 수 있습니다

 <intent-filter> 
      <action android:name="android.intent.action.SEND" /> 
      <category android:name="android.intent.category.DEFAULT" /> 
      <data android:mimeType="image/*" /> 
     </intent-filter> 

Check out the source for all the mime types that are handled.