2013-08-08 4 views
1

파일을 업로드하는 특별한 서비스가 있습니다. 업로드가 끝나면 서비스에서 브로드 캐스트를 전송합니다.이 브로드 캐스트에는 특수한 직렬화 된 객체가 들어 있습니다. 이 객체는 많은 클래스의 인스턴스 일 수 있습니다. 이 개체 클래스를 인식하기 위해 사용자 지정 의도 유형을 사용합니다.Android에서 맞춤 마임 유형을 추가하는 방법은 무엇입니까?

보이는 방법 : 나는 IntentFilter.MalformedMimeTypeException을 잡을 등록 수신기 동안

// Sending broadcast 
Intent intent = new Intent(UploaderService.ACTION_UPLOAD_SUCCESSFULLY); 
intent.setType(UploaderService.TYPE_DOC); 
intent.putExtra(UploaderService.FIELD_RESULT, object); 
context.sendBroadcast(intent); 

// Registering receiver 
IntentFilter filter = new IntentFilter(UploaderService.ACTION_UPLOAD_SUCCESSFULLY); 
filter.addDataType(UploaderService.TYPE_DOC); 
registerReceiver(receiver, filter); 

. TYPE_DOC 상수는 "vnd.com.my.package.doc"입니다.

그래서 내 마임 유형을 시스템에 등록해야한다고 가정합니다. 코드 내에서 어떻게 할 수 있습니까?

+0

** "vnd.com.my.package.doc"**는 ContentProvider입니다. ContentProvider를 등록 했습니까? –

답변

4

내 마임 유형을 시스템에 등록해야한다고 가정합니다.

아니요, 유효한 MIME 유형 구성을 사용해야합니다. vnd.com.my.package.doc은 형식이 잘못된 MIME 유형입니다. 공급 업체 접두사가 붙은 MIME 형식은 application/vnd.com.my.package.doc을 사용하십시오.

브로드 캐스트에서 MIME 형식을 사용하는 것은 비정상적인 동작입니다.

+0

감사합니다. 이제 작품입니다. 어떤 대안을 당신이 물건의 클래스를 인식하는데 제안 할 수 있습니까? 서버는 그것들 중 몇 개를 반환 할 수 있으며, 그것들을 활동에 전달해야한다. 의도 유형을 통한 패스 유형? – bvitaliyg

+0

@bitalyg : "개체 클래스를 인식 할 때 어떤 대안을 제안 할 수 있습니까?" - 유형에 대한 정보를 추가로 넣으십시오. – CommonsWare

+0

@CommsWare 왜 MIME 형식을 사용하는 것이 다소 특이한가요? –

관련 문제