2010-07-20 12 views
24

जब मैं किसी ईमेल को फ़ाइल संलग्न करने का प्रयास करता हूं, तो मुझे java.io.FileNotFoundException मिलता है: कोई सामग्री प्रदाता लॉगकैट आउटपुट नहीं। अगर कोई मुझे बता सकता है कि मैं क्या गलत कर रहा हूं या मुझे इसके बजाय क्या करना चाहिए, तो यह बहुत अच्छा होगा। धन्यवाद।जब क्या करें - 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) 

उत्तर

65

हो सकता है कि आप में से एक uri पास करना चाहिए फॉर्म file:///sdcard/Video0006.mp4

+1

बात है जब मैं sendIntent.putExtra (Intent.EXTRA_STREAM, Uri.fromFile (नई फ़ाइल (uri))) का उपयोग कर की कोशिश है, यह मुझे स्ट्रिंग के बजाय यूरी को यूआरआई में बदलने के लिए कहता है, जब मैं ऐसा करता हूं कि यह उरी को स्ट्रिंग में बदलने के लिए कहता है ... मुझे नहीं पता कि मुझे इसके बारे में क्या करना चाहिए। – kivy

+0

क्या होगा यदि कोई एसडीकार्ड नहीं होगा? – kadik

+0

@ कदिक तो फ़ाइल एसडी कार्ड पर संग्रहीत नहीं की जाएगी, लेकिन यूआरआई अभी भी एक ही ** फॉर्म ** ... 'फ़ाइल: // [विभाजन]/पथ/से/फ़ाइल' – SirDarius

27

आप भी इस कोशिश कर सकते हैं:

Uri.fromFile(new File(your image path)); 
+0

हो सकता है देखें कि यह कोड क्या गलत है [[पोस्ट] (https://stackoverflow.com/q/44447813/7004388)]। मैं यहाँ फंस गया हूँ। कृपया मेरा मार्ग दर्शन कीजिए। – Chip

+1

एपीआई 24 के साथ फ़ाइलों को कैसे प्राप्त और सहेजते हैं, यह फ़ाइल प्रबंधकों का उपयोग करके ली गई फाइल से यूआरआई प्राप्त करने का सबसे आसान तरीका है। – YumeYume

संबंधित मुद्दे