УНИКАЛЬНОЕ ограничение не удалось при попытке поделиться видео через намерение
Привет, я пытаюсь разработать приложение, которое позволит пользователям обмениваться видеофайлами. Всякий раз, когда я пытаюсь поделиться одним и тем же видеофайлом во второй раз, я получаю сообщение об ошибке "Ошибка ограничения"
11-21 20:46:47.103 1076-4528/? E/SQLiteDatabase﹕ Error inserting bucket_id=-1634214109 date_modified=1448138795 datetaken=1448138795000 bucket_display_name=.estrongs parent=894 format=12299 storage_id=131073 media_type=3 mime_type=video/mp4 _size=1235266 title=video1 _data=/storage/sdcard1/.estrongs/video1.mp4 date_added=1448138807 _display_name=video1.mp4
android.database.sqlite.SQLiteConstraintException: UNIQUE constraint failed: files._data (code 2067)
at android.database.sqlite.SQLiteConnection.nativeExecuteForLastInsertedRowId(Native Method)
at android.database.sqlite.SQLiteConnection.executeForLastInsertedRowId(SQLiteConnection.java:782)
at android.database.sqlite.SQLiteSession.executeForLastInsertedRowId(SQLiteSession.java:788)
at android.database.sqlite.SQLiteStatement.executeInsert(SQLiteStatement.java:86)
at android.database.sqlite.SQLiteDatabase.insertWithOnConflict(SQLiteDatabase.java:1471)
at android.database.sqlite.SQLiteDatabase.insert(SQLiteDatabase.java:1341)
at com.android.providers.media.MediaProvider.insertFile(MediaProvider.java:3303)
at com.android.providers.media.MediaProvider.insertInternal(MediaProvider.java:3621)
at com.android.providers.media.MediaProvider.insert(MediaProvider.java:2955)
at android.content.ContentProvider$Transport.insert(ContentProvider.java:235)
at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:163)
at android.os.Binder.execTransact(Binder.java:446)
Это всегда работает, когда я пытаюсь поделиться видео в первый раз, это происходит только тогда, когда я пытаюсь сделать более одного раза для одного и того же файла. Он работает нормально с обменом через Bluetooth, он не работает, когда я пытаюсь поделиться с помощью приложения YouTube или Facebook. Вот моя ода, которая делает разделение частью.
MediaScannerConnection.scanFile(getActivity(), new String[]{recordings.get(viewNumber).getDirectory() + "/" + recordings.get(viewNumber).getFilename() + ".mp4"}, null,
new MediaScannerConnection.OnScanCompletedListener() {
public void onScanCompleted(String path, Uri uri) {
recordings.get(viewNumber).setUploaded(true);
ContentValues content = new ContentValues(4);
content.put(MediaStore.Video.VideoColumns.DATE_ADDED,
System.currentTimeMillis());
content.put(MediaStore.Video.Media.MIME_TYPE, "video/mp4");
content.put(MediaStore.Video.Media.DATA, recordings.get(viewNumber).getDirectory() + "/" + recordings.get(viewNumber).getFilename() + ".mp4");
ContentResolver resolver = getActivity().getBaseContext().getContentResolver();
uri = resolver.insert(MediaStore.Video.Media.INTERNAL_CONTENT_URI, content);
Intent sharingIntent = new Intent(android.content.Intent.ACTION_SEND);
sharingIntent.setType("video/*");
sharingIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "Title");
sharingIntent.putExtra(android.content.Intent.EXTRA_STREAM, uri);
startActivity(Intent.createChooser(sharingIntent, "Share:"));
}
});
Просто чтобы уточнить, я знаю, что видео есть, оно прекрасно работает, когда публикуется впервые, только когда я пытаюсь сделать это несколько раз, когда оно выходит из строя (В приложениях только говорится, что произошла ошибка и происходит сбой приложения youtube). Заранее спасибо, ребята.