當我嘗試將文件附加到電子郵件時,出現java.io.FileNotFoundException:沒有內容提供者logcat輸出。 如果有人能告訴我我做錯了什麼,或者我應該做什麼,那就太好了。謝謝。什麼時候做 - java.io.FileNotFoundException:沒有內容提供者?
這是我如何將文件添加到電子郵件..:
Intent sendIntent = new Intent(Intent.ACTION_SEND);
sendIntent.putExtra(Intent.EXTRA_STREAM, uri);
sendIntent.setType("video/3gp");
sendIntent.setType("video/mp4");
startActivity(sendIntent);
...這裏是整個logcat的錯誤輸出:
07-20 09:15:58.364: ERROR/Mms/media(168): IOException caught while opening or reading stream
07-20 09:15:58.364: ERROR/Mms/media(168): java.io.FileNotFoundException: No content provider: /sdcard/Video0006.mp4
07-20 09:15:58.364: ERROR/Mms/media(168): at android.content.ContentResolver.openAssetFileDescriptor(ContentResolver.java:507)
07-20 09:15:58.364: ERROR/Mms/media(168): at android.content.ContentResolver.openInputStream(ContentResolver.java:345)
07-20 09:15:58.364: ERROR/Mms/media(168): at com.android.mms.model.MediaModel.initMediaSize(MediaModel.java:268)
07-20 09:15:58.364: ERROR/Mms/media(168): at com.android.mms.model.MediaModel.<init>(MediaModel.java:76)
07-20 09:15:58.364: ERROR/Mms/media(168): at com.android.mms.model.RegionMediaModel.<init>(RegionMediaModel.java:40)
07-20 09:15:58.364: ERROR/Mms/media(168): at com.android.mms.model.VideoModel.<init>(VideoModel.java:55)
07-20 09:15:58.364: ERROR/Mms/media(168): at com.android.mms.model.VideoModel.<init>(VideoModel.java:48)
07-20 09:15:58.364: ERROR/Mms/media(168): at com.android.mms.data.WorkingMessage.changeMedia(WorkingMessage.java:434)
07-20 09:15:58.364: ERROR/Mms/media(168): at com.android.mms.data.WorkingMessage.setAttachment(WorkingMessage.java:343)
07-20 09:15:58.364: ERROR/Mms/media(168): at com.android.mms.ui.ComposeMessageActivity.addVideo(ComposeMessageActivity.java:2472)
07-20 09:15:58.364: ERROR/Mms/media(168): at com.android.mms.ui.ComposeMessageActivity.addAttachment(ComposeMessageActivity.java:2544)
07-20 09:15:58.364: ERROR/Mms/media(168): at com.android.mms.ui.ComposeMessageActivity.handleSendIntent(ComposeMessageActivity.java:2521)
07-20 09:15:58.364: ERROR/Mms/media(168): at com.android.mms.ui.ComposeMessageActivity.initialize(ComposeMessageActivity.java:1703)
07-20 09:15:58.364: ERROR/Mms/media(168): at com.android.mms.ui.ComposeMessageActivity.onCreate(ComposeMessageActivity.java:1633)
07-20 09:15:58.364: ERROR/Mms/media(168): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
07-20 09:15:58.364: ERROR/Mms/media(168): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2459)
07-20 09:15:58.364: ERROR/Mms/media(168): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2512)
07-20 09:15:58.364: ERROR/Mms/media(168): at android.app.ActivityThread.access$2200(ActivityThread.java:119)
07-20 09:15:58.364: ERROR/Mms/media(168): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1863)
07-20 09:15:58.364: ERROR/Mms/media(168): at android.os.Handler.dispatchMessage(Handler.java:99)
07-20 09:15:58.364: ERROR/Mms/media(168): at android.os.Looper.loop(Looper.java:123)
07-20 09:15:58.364: ERROR/Mms/media(168): at android.app.ActivityThread.main(ActivityThread.java:4363)
07-20 09:15:58.364: ERROR/Mms/media(168): at java.lang.reflect.Method.invokeNative(Native Method)
07-20 09:15:58.364: ERROR/Mms/media(168): at java.lang.reflect.Method.invoke(Method.java:521)
07-20 09:15:58.364: ERROR/Mms/media(168): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860)
07-20 09:15:58.364: ERROR/Mms/media(168): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
07-20 09:15:58.364: ERROR/Mms/media(168): at dalvik.system.NativeStart.main(Native Method)
的事情是,當我嘗試使用 sendIntent.putExtra(Intent.EXTRA_STREAM,Uri.fromFile(新文件(URI))); 它告訴我改變一個URI而不是一個字符串的URI,當我這樣做時,它告訴將Uri更改爲一個字符串......我不知道我該怎麼做。 – kivy 2010-07-20 10:31:55
如果沒有SD卡會怎麼樣? – kadik 2016-03-16 09:56:41
@kadik然後該文件將不會被存儲在SD卡上,但該URI將仍然是相同的**形式** ...'file:// [分區] /路徑/到/文件 – SirDarius 2016-03-16 19:37:00