0

내가 내 안드로이드 서비스 또는 브로드 캐스트 리시버가 내 사용자 지정 파일을 검색 할 수 있도록 사용자 정의 마임을 추가 할 사용자 지정 MIME 형식을 사용하여. 내가 How to add custom mime type?How to add custom mime type?의도 필터 :

여기에 대한 답변과 같은 질문에 대한 답변을 보았다는 활동을 위해 표시됩니다. 그러나 서비스 또는 BroadcastReceiver에 필요한 수정 사항은 무엇입니까? 나는 그들을 위해 동일한 코드를 시도했지만 작동하지 않았다. 저는 안드로이드 개발에 초보자입니다. 친절하고 상세한 설명을 환영합니다. 가능한가? 어디서 잘못 될까요?

<service android:name="XcardReceivedService" 
     android:exported="true" 
     android:enabled="true"> 


      <intent-filter> 
        <!-- <action android:name="android.intent.action.VIEW" /> 
        <category android:name="android.intent.category.DEFAULT" /> 
        <category android:name="android.intent.category.BROWSABLE" /> 
        --> 
        <data android:scheme="file" /> 
        <data android:mimeType="*/*" /> 
        <data android:pathPattern=".*\\.Xcard" /> 
        <data android:host="*" /> 
</intent-filter> 


     </service> 
+0

당신은 꽤 많은 서비스 또는 방송 수신기와 MIME 타입을 사용하지 않습니다. "내 사용자 지정 파일 감지"가 의미하는 바를 완전히 설명해 주시겠습니까? – CommonsWare

+0

나는 android에 매우 익숙하다. 나는 "card.Xcard"라는 이름으로 내 sdcard에 작성된 파일을 가지고 있습니다. 사용자가 해당 파일을 클릭하면 활동을 시작하고 싶습니다. 활동이 시작되기 전에 해당 파일의 데이터를 데이터베이스에 추가하려고합니다. 그 목적을 위해 나는 서비스 또는 방송 수신기를 쓰고 싶었다. – neerajDorle

+0

그리고 데이터베이스에 추가 된 데이터의 활동에 대한 세부 정보를 표시하려고합니다. 가능한 다른 방법이 있습니까? 이 방식으로 그것을 구현할 수 있습니다 : 나는 데이터베이스에 데이터를 표시하는 활동 A가 있다고 가정하십시오. 다른 활동의 의도 또는 사용자가 ".Xcard"유형의 파일을 클릭 할 때 시작할 수 있습니다. 하지만 다른 활동에서 온 것이 든 또는 사용자가이 파일을 클릭했을 때 어떻게 활동을 시작했는지 구분해야합니다. – neerajDorle

답변

1

하지만 활동이 시작되기 전에 나는

당신은에 그렇게해야 데이터베이스에 해당 파일의 데이터를 추가 할 :

내가 사용하는 코드는

입니다 활동.

또는 그 목적 나는 서비스 또는 방송 수신기를 쓰고 싶었습니다.

파일은 서비스 또는 방송 수신기에 열지 마십시오.

다른 가능한 방법이 있나요?

는 활동에 코드를 넣습니다.

다른 활동의 활동 여부 또는 사용자가이 파일을 클릭했을 때 "활동 시작 방법"을 어떻게 구별해야합니까?

활동을 시작하는 데 사용 된 Intent을 확인하십시오. IntentgetIntent()을 통해 알 수 있습니다. Intent에서 getData()으로 전화하면 Uri과 연결할 수 있습니다. null이 아닌 경우 파일의 경로 여야합니다.

+0

감사합니다 선생님을 표시 할 수있다! ! 나는 당신이 내 질문에 대답하도록 권한을 얻었습니다. 나는 너의 제안을 시도 할 것이다. 네 부탁이 좀 더 필요해. http://stackoverflow.com/questions/16441330/declaring-mime-type-for-a-custom-file-that-is-to-be-sent-via-bluetooth를 살펴 보시기 바랍니다. – neerajDorle