1. 해결 방법
스택 오버 플로우에서 Intent-filter abnormal behavior with samsung file browser 질문에 대한 답변입니다.
<activity
android:name=".ImportCollections"
android:launchMode="singleTask"
android:parentActivityName=".ManageCollections">
<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:host="*"
android:mimeType="*/*"
android:pathPattern=".*\\.infi"
android:scheme="http" />
<data
android:host="*"
android:mimeType="*/*"
android:pathPattern=".*\\.infi"
android:scheme="https" />
<data
android:host="*"
android:mimeType="*/*"
android:pathPattern=".*\\.infi"
android:scheme="content" />
<data
android:host="*"
android:mimeType="*/*"
android:pathPattern=".*\\.infi"
android:scheme="file" />
</intent-filter>
<!-- MIME type matcher for .infi files coming from providers like gmail which hide the file extension -->
<!-- 작성하지 않았던 intent-filter 부분 -->
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="application/infi" />
<data android:mimeType="application/x-infi" />
<data
android:mimeType="application/octet-stream"
android:scheme="content" />
<data
android:mimeType="application/zip"
android:scheme="content" />
</intent-filter>
</activity>
2. 문제 이유
제 경우에는 두 개의 intent-filter 중 2번째를 넣지 않은 상태에서 동작하지 않는 문제가 있었습니다. 그 이유를 알아보니 Intent의 Data가 'content://0@media/external/file/46'와 같은 형태로 오고 있었습니다.
pathPattern이 맞지 않기 때문에 동작하지 않았던 거죠. mimeType을 가지고 intent-filter를 추가로 작성해야 할 듯 합니다.
stackoverflow.com/questions/39205640/intent-filter-abnormal-behavior-with-samsung-file-browser
'Android' 카테고리의 다른 글
[Android] SQLiteDatabase 트랜잭션 사용법 (0) | 2020.09.23 |
---|---|
[Android] 개발, 디자인 및 보안 관련 사이트 북마크 (0) | 2020.09.11 |
[Android] AppCompatDelegate.setDefaultNightMode Not Working (0) | 2020.08.31 |
[Android] 볼륨 조절 버튼 클릭 시 바로 미디어 볼륨 조절하게 하기 (0) | 2020.08.05 |
[Android] 현재 인터넷 연결 종류 String으로 가져오기 (0) | 2020.07.14 |