Pra*_*nCG 3 youtube video android facebook android-intent
我正在尝试共享正在创建并存储在其路径已通过的外部sdcard上的视频。
Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_MOVIES).getAbsolutePath()
Run Code Online (Sandbox Code Playgroud)
我正在使用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);
Run Code Online (Sandbox Code Playgroud)
问题:当我通过gmail分享时,它显示了带有视频的撰写窗口。但是没有显示视频的大小,并且当您发送或取消窗口时,gmail将与contentresolver上的inputstream 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);
}
});
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6421 次 |
| 最近记录: |