The solution for this issue is to query the Database, instead of insert to it, I posted the full solution with code to this issue in my blog: http://androidwarzone.blogspot.co.il/2013/08/media-play-and-share-to-youtube-breaks.html
Eli On Fri, Aug 2, 2013 at 11:20 PM, Eli Hasson <[email protected]> wrote: > Yep, > Looks like I found the issue: > 08-02 23:11:54.524: E/SQLiteDatabase(11214): Error inserting > bucket_id=1643208667 media_type=3 title=out.mp4 storage_id=65537 > mime_type=video/mp4 date_modified=1375474313 _display_name=out.mp4 > date_added=1375474314 parent=1184 _size=325469 format=12299 > _data=/storage/emulated/0/compressed/out.mp4 bucket_display_name=compressed > 08-02 23:11:54.524: E/SQLiteDatabase(11214): > android.database.sqlite.SQLiteConstraintException: column _data is not > unique (code 19) > > The thing is, Google changed the functionality of the insert, seems that > column data must be unique. > > Eli > > > On Fri, Aug 2, 2013 at 11:02 PM, Nobu Games <[email protected]>wrote: > >> Is there anything in log cat related to MediaStore? >> >> >> On Friday, August 2, 2013 2:43:17 PM UTC-5, eli wrote: >> >>> Thanks for your answer, I just entered hard coded values there to make >>> the code more clear, this is not the issue. >>> >>> Eli >>> On Aug 2, 2013 10:29 PM, "Nobu Games" <[email protected]> wrote: >>> >>>> Sorry Eli, >>>> >>>> I should have read your code more carefully. You're hard-coding file >>>> paths in that insert request which is bad practice. You cannot assume that >>>> there paths like "/sdcard/..." on all Android devices. They can be named >>>> completely differently depending on device / manufacturer and especially on >>>> Jelly Bean there's something like a "virtual file system" for supporting >>>> multiple user accounts and these file paths look totally different. >>>> >>>> You should make use of the context.getExternalStorage(...**) and >>>> related methods (also look into the Environment class). >>>> >>>> Maybe the hard-coded file path is the problem there? >>>> >>>> On Friday, August 2, 2013 2:20:50 PM UTC-5, eli wrote: >>>>> >>>>> It always return null on 4.3, and works perfectly on all other >>>>> versions. >>>>> On Aug 2, 2013 10:13 PM, "Nobu Games" <[email protected]> wrote: >>>>> >>>>>> I just had a quick peek at the API level 14 source code and it looks >>>>>> like there are two possible reasons for that problem: >>>>>> >>>>>> 1. The actual ContentProvider the ContentResolver connected to >>>>>> returns null on insert (for whatever reason, that is a mystery) >>>>>> 2. A RemoteException was thrown during the insert operation. The >>>>>> exception is caught by the ContentResolver and it returns just null >>>>>> instead. The reason for that is (according to the source code comment) >>>>>> that >>>>>> the process / app is about to die anyway. >>>>>> >>>>>> Other ContentResolver methods behave exactly the same. Also the query >>>>>> methods. It can - without a warning - just return null, even though it >>>>>> works in your tests a million times. >>>>>> >>>>>> You therefore need to check the result for null and come up with a >>>>>> strategy for coping with that problem, like scheduling a re-query or >>>>>> checking if your activity is about to be finished. >>>>>> >>>>>> On Friday, August 2, 2013 12:29:31 PM UTC-5, eli wrote: >>>>>>> >>>>>>> This code works on all Android versions except on 4.3: >>>>>>> >>>>>>> ContentValues content = new >>>>>>> ContentValues(4); >>>>>>> content.put(Video.**VideoColumn****s.TITLE, "vid.mp4"); >>>>>>> content.put(Video.**VideoColumn****s.DATE_ADDED, >>>>>>> System.currentTimeMillis() / 1000); >>>>>>> content.put(Video.Media.MIME_******TYPE, "video/mp4"); >>>>>>> content.put(MediaStore.Video.******Media.DATA, >>>>>>> "/sdcard/vid.mp4"); >>>>>>> ContentResolver resolver = getContentResolver(); >>>>>>> * Uri uri = resolver.insert(MediaStore.Vid >>>>>>> eo.Media.EXTERNAL_CONTENT_URI,* >>>>>>> * content);* >>>>>>> >>>>>>> On 4.3 *uri *is null. >>>>>>> Can someone help? >>>>>>> >>>>>>> Thanks, >>>>>>> Eli >>>>>>> >>>>>> -- >>>>>> -- >>>>>> You received this message because you are subscribed to the Google >>>>>> Groups "Android Developers" group. >>>>>> To post to this group, send email to android-d...@**googlegroups.com >>>>>> To unsubscribe from this group, send email to >>>>>> android-developers+**unsubscribe**@googlegroups.com >>>>>> For more options, visit this group at >>>>>> http://groups.google.com/**group**/android-developers?hl=en<http://groups.google.com/group/android-developers?hl=en> >>>>>> --- >>>>>> You received this message because you are subscribed to a topic in >>>>>> the Google Groups "Android Developers" group. >>>>>> To unsubscribe from this topic, visit https://groups.google.com/d/** >>>>>> to**pic/android-developers/I-**nzRB0**w6DM/unsubscribe<https://groups.google.com/d/topic/android-developers/I-nzRB0w6DM/unsubscribe> >>>>>> . >>>>>> To unsubscribe from this group and all its topics, send an email to >>>>>> android-developers+**unsubscribe**@googlegroups.com. >>>>>> For more options, visit >>>>>> https://groups.google.com/**grou**ps/opt_out<https://groups.google.com/groups/opt_out> >>>>>> . >>>>>> >>>>>> >>>>>> >>>>> -- >>>> -- >>>> You received this message because you are subscribed to the Google >>>> Groups "Android Developers" group. >>>> To post to this group, send email to android-d...@**googlegroups.com >>>> To unsubscribe from this group, send email to >>>> android-developers+**[email protected] >>>> For more options, visit this group at >>>> http://groups.google.com/**group/android-developers?hl=en<http://groups.google.com/group/android-developers?hl=en> >>>> --- >>>> You received this message because you are subscribed to a topic in the >>>> Google Groups "Android Developers" group. >>>> To unsubscribe from this topic, visit https://groups.google.com/d/** >>>> topic/android-developers/I-**nzRB0w6DM/unsubscribe<https://groups.google.com/d/topic/android-developers/I-nzRB0w6DM/unsubscribe> >>>> . >>>> To unsubscribe from this group and all its topics, send an email to >>>> android-developers+**[email protected]. >>>> For more options, visit >>>> https://groups.google.com/**groups/opt_out<https://groups.google.com/groups/opt_out> >>>> . >>>> >>>> >>>> >>> -- >> -- >> You received this message because you are subscribed to the Google >> Groups "Android Developers" group. >> To post to this group, send email to [email protected] >> To unsubscribe from this group, send email to >> [email protected] >> For more options, visit this group at >> http://groups.google.com/group/android-developers?hl=en >> --- >> You received this message because you are subscribed to a topic in the >> Google Groups "Android Developers" group. >> To unsubscribe from this topic, visit >> https://groups.google.com/d/topic/android-developers/I-nzRB0w6DM/unsubscribe >> . >> To unsubscribe from this group and all its topics, send an email to >> [email protected]. >> For more options, visit https://groups.google.com/groups/opt_out. >> >> >> > > -- -- You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/android-developers?hl=en --- You received this message because you are subscribed to the Google Groups "Android Developers" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/groups/opt_out.

