怎么办时, - java.io.FileNotFoundException:没有内容提供商?提供商、内容、java、io

2023-09-06 09:24:36 作者:天生帅才

当我尝试将文件附加到电子邮件,我得到一个java.io.FileNotFoundException:没有内容提供商logcat的输出。 如果有人能告诉我什么,我做错了或者是我应该做的,而不是,这将是great.Thank你。

这是我如何将文件添加到电子邮件..:

 意图sendIntent =新的意图(Intent.ACTION_SEND);
                sendIntent.putExtra(Intent.EXTRA_STREAM,URI);
                sendIntent.setType(视频/ 3GP);
                sendIntent.setType(视频/ MP4);
                startActivity(sendIntent);
 
由浅入深彻底熟悉Java IO

...这里是整个logcat的错误输出:

  9月7日至20号:15:58.364:ERROR / MMS /传媒(168):IOException异常而打开或读取数据流捕获
九月7日至20日:15:58.364:ERROR / MMS /传媒(168):java.io.FileNotFoundException:没有内容提供商:/sdcard/Video0006.mp4
九月7日至20日:15:58.364:ERROR / MMS /传媒(168):在android.content.ContentResolver.openAssetFileDescriptor(ContentResolver.java:507)
九月7日至20日:15:58.364:ERROR / MMS /传媒(168):在android.content.ContentResolver.openInputStream(ContentResolver.java:345)
九月7日至20日:15:58.364:ERROR / MMS /传媒(168):在com.android.mms.model.MediaModel.initMediaSize(MediaModel.java:268)
九月7日至20日:15:58.364:ERROR / MMS /传媒(168):在com.android.mms.model.MediaModel< INIT>(MediaModel.java:76)
九月7日至20日:15:58.364:ERROR / MMS /传媒(168):在com.android.mms.model.RegionMediaModel< INIT>(RegionMediaModel.java:40)
九月7日至20日:15:58.364:ERROR / MMS /传媒(168):在com.android.mms.model.VideoModel< INIT>(VideoModel.java:55)
九月7日至20日:15:58.364:ERROR / MMS /传媒(168):在com.android.mms.model.VideoModel< INIT>(VideoModel.java:48)
九月7日至20日:15:58.364:ERROR / MMS /传媒(168):在com.android.mms.data.WorkingMessage.changeMedia(WorkingMessage.java:434)
九月7日至20日:15:58.364:ERROR / MMS /传媒(168):在com.android.mms.data.WorkingMessage.setAttachment(WorkingMessage.java:343)
九月7日至20日:15:58.364:ERROR / MMS /传媒(168):在com.android.mms.ui.ComposeMessageActivity.addVideo(ComposeMessageActivity.java:2472)
九月7日至20日:15:58.364:ERROR / MMS /传媒(168):在com.android.mms.ui.ComposeMessageActivity.addAttachment(ComposeMessageActivity.java:2544)
九月7日至20日:15:58.364:ERROR / MMS /传媒(168):在com.android.mms.ui.ComposeMessageActivity.handleSendIntent(ComposeMessageActivity.java:2521)
九月7日至20日:15:58.364:ERROR / MMS /传媒(168):在com.android.mms.ui.ComposeMessageActivity.initialize(ComposeMessageActivity.java:1703)
九月7日至20日:15:58.364:ERROR / MMS /传媒(168):在com.android.mms.ui.ComposeMessageActivity.onCreate(ComposeMessageActivity.java:1633)
九月7日至20日:15:58.364:ERROR / MMS /传媒(168):在android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
九月7日至20日:15:58.364:ERROR / MMS /传媒(168):在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2459)
九月7日至20日:15:58.364:ERROR / MMS /传媒(168):在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2512)
九月7日至20日:15:58.364:ERROR / MMS /传媒(168):在android.app.ActivityThread.access $ 2200(ActivityThread.java:119)
九月7日至20日:15:58.364:ERROR / MMS /传媒(168):在android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1863)
九月7日至20日:15:58.364:ERROR / MMS /传媒(168):在android.os.Handler.dispatchMessage(Handler.java:99)
九月7日至20日:15:58.364:ERROR / MMS /传媒(168):在android.os.Looper.loop(Looper.java:123)
九月7日至20日:15:58.364:ERROR / MMS /传媒(168):在android.app.ActivityThread.main(ActivityThread.java:4363)
九月7日至20日:15:58.364:ERROR / MMS /传媒(168):在java.lang.reflect.Method.invokeNative(本机方法)
九月7日至20日:15:58.364:ERROR / MMS /传媒(168):在java.lang.reflect.Method.invoke(Method.java:521)
九月7日至20日:15:58.364:ERROR / MMS /传媒(168):在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:860)
九月7日至20日:15:58.364:ERROR / MMS /传媒(168):在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
九月7日至20日:15:58.364:ERROR / MMS /传媒(168):在dalvik.system.NativeStart.main(本机方法)
 

解决方案

也许你应该通过形式文件的URI:///sdcard/Video0006.mp4

when I try to attach a file to an email, I get a java.io.FileNotFoundException: No content provider logcat output. If anyone could tell me what I am doing wrong or what I should do instead, that would be great.Thank you.

This is how I add the files to the email..:

Intent sendIntent = new Intent(Intent.ACTION_SEND);
                sendIntent.putExtra(Intent.EXTRA_STREAM, uri);
                sendIntent.setType("video/3gp");
                sendIntent.setType("video/mp4");
                startActivity(sendIntent);

...and here is the entire logcat error output:

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)

解决方案

Maybe you should pass an uri of the form file:///sdcard/Video0006.mp4.