gpt4 book ai didi

android - Share Intent 不适用于将视频上传到 youtube

转载 作者:太空宇宙 更新时间:2023-11-03 11:58:22 26 4
gpt4 key购买 nike

我正在尝试分享正在创建并存储在外部 SD 卡上的视频,其路径已被获取。

Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_MOVIES).getAbsolutePath()

我按如下方式使用 SEND_INTENT:

Intent shareIntent = new Intent(Intent.ACTION_SEND);                         
shareIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET);
shareIntent.setType("video/mp4");
shareIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "My Subject");
shareIntent.putExtra(android.content.Intent.EXTRA_TEXT,"My Text");
shareIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse(video_path));
startActivityForResult(Intent.createChooser(shareIntent, "Share Your Video"),SHARE_INTENT);

问题:当我通过 gmail 共享时,它会显示带有附加视频的撰写窗口。但是没有显示视频的大小,当您发送或取消窗口时,gmail 将因 contentresolver 上的输入流 NPE 而崩溃。

如果是 youtube,它说你不能从云服务上传视频,我的视频显然驻留在设备上。

在 facebook 的情况下,它被默默地丢弃。这适用于 wassup。 :-)

有什么想法可以让它发挥作用吗?

编辑:

视频路径:/storage/emulated/0/Movies/MyFolder/my-video_1378253389208.mp4

更新

通过添加file:/// 后缀,gmail 和facebook 可以正常工作。Youtube 还在提示“无法从云服务上传视频”。

最佳答案

Youtube 失败而其他人工作的原因是因为它检查它是否是媒体文件。如果它已被扫描,它只会认为它是一个媒体文件。运行下面的代码,它应该可以工作。它也将出现在画廊中。我不知道如何上传临时文件。

void publishScan() {

//mVidFnam: "/mnt/sdcard/DCIM/foo/vid_20131001_123738.3gp" (or such)
MediaScannerConnection.scanFile(this, new String[] { mVidFnam }, null,
new MediaScannerConnection.OnScanCompletedListener() {
public void onScanCompleted(String path, Uri uri) {
Log.d(TAG, "onScanCompleted uri " + uri);


}
});
}

关于android - Share Intent 不适用于将视频上传到 youtube,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18603524/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com