嗨,我有一個媒體文件URI,我想確定mimetype並以通用方式調用相應的活動,以下是我的代碼。無法從文件URI加載內容
mediaUri = Uri.parse(filePath);
String mimeType = MimeTypeMap.getSingleton().getMimeTypeFromExtension(extension);
Intent viewMediaIntent = new Intent();
viewMediaIntent.setAction(Intent.ACTION_VIEW);
viewMediaIntent.setDataAndType(mediaUri,mimeType);
viewMediaIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
viewMediaIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(viewMediaIntent);
現在問題是很少的文件uris不工作。但相同的URI如果轉換爲HTTP URI並從瀏覽器加載他們工作正常。或任何其他應用程序能夠加載它們,
樣品的URI不工作
file:///storage/emulated/0/Samsung/Image/001.JPG
file:///storage/emulated/0/Samsung/Music/Over the horizon.mp3
錯誤:
09-30 12:07:44.531: I/System.out(26771): Item Selected: file:///storage/emulated/0/Samsung/Image/001.JPG`
09-30 12:07:44.531: I/System.out(26771): mime type: null`
09-30 12:07:44.534: D/AndroidRuntime(26771): Shutting down VM`
09-30 12:07:44.534: W/dalvikvm(26771): threadid=1: thread exiting with uncaught exception (group=0x41e50ac8)`
09-30 12:07:44.545: E/AndroidRuntime(26771): FATAL EXCEPTION: main`
09-30 12:07:44.545: E/AndroidRuntime(26771): android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.VIEW dat=file:///storage/emulated/0/Samsung/Image/001.JPG flg=0x14000000 }`
09-30 12:07:44.545: E/AndroidRuntime(26771): at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1622)`
09-30 12:07:44.545: E/AndroidRuntime(26771): at android.app.Instrumentation.execStartActivity(Instrumentation.java:1417)`
得到一個更優雅的方式擴展解釋「不工作」 – Asahi
我已經更新了錯誤日誌的編輯。基本上它沒有找到MIME類型,因此無法加載。 – blganesh101