나는이 모든 비슷한 질문을 여기에서 검토했지만, 나 자신의 삶이 내가 잘못하고있는 것을 알아낼 수는 없다.파일 및 MIME 유형에 대한 인 텐트를 시작 하시겠습니까?
필자는 일종의 파일 브라우저 인 다양한 파일을 실행하려고하는 응용 프로그램을 작성했습니다. 파일을 클릭하면 관련 MIME 형식을 기반으로 프로그램을 시작하려고 시도하거나 "시작할 응용 프로그램 선택"대화 상자를 표시합니다. 여기
내가 시작 사용하고 코드입니다 :File file = new File(app.mediaPath() + "/" +_mediaFiles.get(position));
Intent myIntent = new Intent(android.content.Intent.ACTION_VIEW);
String extension = android.webkit.MimeTypeMap.getFileExtensionFromUrl(Uri.fromFile(file).toString());
String mimetype = android.webkit.MimeTypeMap.getSingleton().getMimeTypeFromExtension(extension);
myIntent.setDataAndType(Uri.fromFile(file),mimetype);
startActivity(myIntent);
이 실패하고 오류 발생 : 내가 예를 들어 OI 파일 관리자를 설치하면 이제
android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.VIEW dat=file:///file:/mnt/sdcard/roms/nes/Baseball_simulator.nes }
를,이 대신 열립니다 오류가 발생하고 내에서 동일한 파일을 클릭하면 적절한 대화 상자가 시작됩니다.
특정 파일의 MIME 유형이 실패했지만 .zip
과 같은 다른 MIME 유형이 값을 반환한다는 것을 알아 챘습니다.
MIME 형식이 null 인 경우 사용자가 선택할 수있는 대화 상자를 호출 할 때 그 내용이 누락 되었습니까?
MIME 형식을 설정하지 않고 .setData
만 사용하여 앱을 시작한 다른 변형을 시도했습니다.
내가 원하는 동작은 사용자가 파일을 클릭하면 응용 프로그램이 실행되는 응용 프로그램과 연결될 경우 파일을 클릭하고 그렇지 않으면 사용자가 응용 프로그램 목록과 함께 "사용 완료 동작"대화 상자를 가져옵니다.
어떤 조언을 주셔서 감사합니다.
mimetype 문자열은 무엇입니까? 여기에 붙여 넣으십시오. –
관련 파일이있는 것처럼 보이지만 올바른 MIME 유형입니다.하지만 앱에 연결되어 있지 않은 경우 null을 통해 나타납니다. – stonedonkey