我现在花了几个小时尝试使用ShareIntent将视频上传到YouTube,并阅读并尝试了我能找到的所有内容。当我尝试从我的应用程序将mp4上传到YouTube时,进度冻结为19%,并显示文件大小为5.7MB,但实际上是1.1MB。如果我选择上传到Facebook,Gmail或其他任何内容,它将上传没有任何问题。如果我尝试将相同的视频从图库上传到YouTube,它将正常工作。
这是我的getShareIntent方法:
private Intent getShareIntent() {
Intent intent = new Intent(android.content.Intent.ACTION_SEND);
ContentValues content = new ContentValues(4);
content.put(Video.VideoColumns.DATE_ADDED,
System.currentTimeMillis() / 1000);
content.put(Video.Media.MIME_TYPE, "video/mp4");
content.put(MediaStore.Video.Media.DATA, "myVideo");
ContentResolver resolver = getContentResolver();
Uri data = resolver.insert(MediaStore.Video.Media.EXTERNAL_CONTENT_URI, content);
intent.setType("video/mp4");
intent.putExtra(android.content.Intent.EXTRA_STREAM, data);
return intent;
}
创建ActionBar菜单时,我的ShareActionIntent被初始化:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.saved_menu, menu);
deleteItem = menu.findItem(R.id.action_delete);
shareItem = menu.findItem(R.id.action_share);
shareActionProvider = (ShareActionProvider)MenuItemCompat.getActionProvider(shareItem);
shareActionProvider.setShareIntent(getShareIntent());
return super.onCreateOptionsMenu(menu);
}
这是从我的viewPager的onPageSelected调用的:
shareActionProvider.setShareIntent(getShareIntent());
任何帮助将不胜感激。我的logcat或其他任何错误都没有。
答案 0 :(得分:0)
我将此添加到我的getShareIntent()方法中。到目前为止,它似乎工作正常,现在上传到YouTube很好。
Uri uri = Uri.fromFile(file);
Intent scanFileIntent = new Intent(
Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, uri);
sendBroadcast(scanFileIntent);