안녕하세요.
제목처럼 MIME Type Handler 연동 즉, 어플리케이션에서 단말에 설치된 다른 Intent를 실행하는 방법이 어떤 것이 있나요?
일단 Intent i = new Intent()로 startActivity(i) 하는것이겠죠.
궁금점
1. 단말에 설치된 Intent가 있는지 조회하는 방법?
2. 데이터를 전달하는 방법?
등등..
일단 이렇게 해봤는데요.
웹에서 텍스트 데이터를 다운로드받아 sample.txt 파일로 저장한후
try{
String mime = URLConnection.getFileNameMap().getContentTypeFor(this.getFilesDir().getAbsolutePath() + "sample.txt");
Uri uri = Uri.parse("file://" + aPath + sfile);
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
intent.setDataAndType(uri, mime);
PackageManager pm = getPackageManager();
List<ResolveInfo> list = pm.queryIntentActivities(intent, PackageManager.MATCH_DEFAULT_ONLY);
if (list.size() > 0) {
startActivity(intent);
}
}catch(Exception e){
}
이렇게 하면 com.android.htmlfileprovider가 뜨는데 정상적으로 화면에 보이지 않네요.
에러 메시지는 "The Web Page at content://com.android.htmlfileprovider/data/data/com.test.ui/files/sample.txt?text/plain could not be loaded.."
여기서 com.test.ui는 어플리케이션 패키지이고 /data/data/com.test.ui/files/sample.txt 는 로컬에 저장한 파일명, text/plain은 mime입니다.
혹시 연동하는 방법을 알 수 있을까요?