使用ShareIntent将文件上传到YouTube失败

时间:2013-12-06 22:04:21

标签: android android-intent youtube

我现在花了几个小时尝试使用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或其他任何错误都没有。

1 个答案:

答案 0 :(得分:0)

我将此添加到我的getShareIntent()方法中。到目前为止,它似乎工作正常,现在上传到YouTube很好。

Uri uri = Uri.fromFile(file);
Intent scanFileIntent = new Intent(
Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, uri);
sendBroadcast(scanFileIntent);