gpt4 book ai didi

android - 如何使用 Intent 将视频分享到任何应用程序?

转载 作者:行者123 更新时间:2023-11-29 18:32:33 24 4
gpt4 key购买 nike

问题:共享视频后,当我启动应用程序检查共享视频时,它显示“无法导入”和“该视频不再可用”。

安卓版本:Oreo(8.0)

代码:我正在尝试使用以下代码与其他使用 Intent 的应用分享视频:

            Intent share = new Intent(Intent.ACTION_SEND);
share.setType("video/*");

share.putExtra(Intent.EXTRA_SUBJECT, "abc");
share.putExtra(Intent.EXTRA_TITLE, "abcd");

File imageFileToShare = new File(Environment.getExternalStorageDirectory() + "/mygallery/" + "airp.mp4");

Uri uri = FileProvider.getUriForFile(Main2Activity.this, "abc.dcf.fileprovider", imageFileToShare);

share.putExtra(Intent.EXTRA_STREAM, uri);

share.setPackage("com.abc.in");
startActivity(Intent.createChooser(share, "Message"));

上面的代码可以很好地分享图片,但不能分享视频。

我尝试过的方法:我尝试过共享各种文件类型,如 3gp、mkv、mp4,但没有任何效果,我也遇到过各种类似的问题,但没有解决方案以防万一的视频。

请帮我解决这个问题,还有其他方法吗?

最佳答案

您可以将其添加到您的 OnCreate

StrictMode.VmPolicy.Builder builder = new StrictMode.VmPolicy.Builder();
StrictMode.setVmPolicy(builder.build());

如果这对你不起作用,

通过执行此操作将提供程序添加到 list

<provider
android:name="android.support.v4.content.FileProvider"
android:authorities="${applicationId}.provider"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/provider_paths"/>
</provider>

如果您使用的是 androidx,请记住使用 android:name="androidx.core.content.FileProvider"

在xml目录(res/xml)中创建一个文件并命名为provider_paths.xml

<?xml version="1.0" encoding="utf-8"?>
<paths xmlns:android="http://schemas.android.com/apk/res/android">
<external-path name="external_files" path="."/>
</paths>

替换

Uri uri = FileProvider.getUriForFile(Main2Activity.this, "abc.dcf.fileprovider", imageFileToShare);

有了这个

Uri uri = FileProvider.getUriForFile(Main2Activity.this, BuildConfig.APPLICATION_ID + ".provider",imageFileToShare);

关于android - 如何使用 Intent 将视频分享到任何应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55608391/

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