gpt4 book ai didi

android - 通过 android 中的 Intent 将视频分享到 viber 不起作用

转载 作者:行者123 更新时间:2023-11-30 02:33:55 25 4
gpt4 key购买 nike

我在谷歌上搜索了很多但没有成功。我想通过此代码在我的应用程序中共享视频文件:

Intent intent = new Intent(Intent.ACTION_SEND);
intent.setType("video/mp4"); //or even video mpeg not working!
intent.putExtra(Intent.EXTRA_STREAM, Uri.parse("file://" + outputFileInformation.getFullPath()));
startActivity(Intent.createChooser(intent, getString(R.string.share)));

而且我尝试了一些其他代码,但是如果我选择 Viber 在共享列表中,选择收件人后没有任何反应,屏幕闪烁并且没有任何反应。(我必须说共享 image/png 没有问题。我真的需要尽快完成这项工作。我可以轻松地从图库中分享该视频,没有任何问题,但现在在我的应用程序中工作...。

最佳答案

我设法让它发挥作用。我必须以另一种方式制作 Uri,这是我用于从视频文件路径制作 Uri 的代码(您也可以为图像更改它)

public static Uri getVideoContentUri(Context context, File imageFile) {
String filePath = imageFile.getAbsolutePath();
Cursor cursor = context.getContentResolver().query(
MediaStore.Video.Media.EXTERNAL_CONTENT_URI,
new String[] { MediaStore.Video.Media._ID },
MediaStore.Video.Media.DATA + "=? ",
new String[] { filePath }, null);
if (cursor != null && cursor.moveToFirst()) {
int id = cursor.getInt(cursor
.getColumnIndex(MediaStore.MediaColumns._ID));
Uri baseUri = Uri.parse("content://media/external/video/media");
return Uri.withAppendedPath(baseUri, "" + id);
} else {
if (imageFile.exists()) {
ContentValues values = new ContentValues();
values.put(MediaStore.Video.Media.DATA, filePath);
return context.getContentResolver().insert(
MediaStore.Video.Media.EXTERNAL_CONTENT_URI, values);
} else {
return null;
}
}
}

关于android - 通过 android 中的 Intent 将视频分享到 viber 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26875355/

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