Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何共享在Android原始文件夹中分配的视频文件_Android_Video_Share_Android Resources - Fatal编程技术网

如何共享在Android原始文件夹中分配的视频文件

如何共享在Android原始文件夹中分配的视频文件,android,video,share,android-resources,Android,Video,Share,Android Resources,在应用程序中,我有一个片段,我在其中播放视频。这些视频在。/res/raw/ 要播放视频,我会生成视频的路径,如下所示: this.videoPath = "android.resource://" + requireContext().packageName + "/" + args.videoId 其中“args.videoId”是使用以下方法生成的视频的id: val packageName: String = context.packageName val videoId = cont

在应用程序中,我有一个片段,我在其中播放视频。这些视频在
。/res/raw/

要播放视频,我会生成视频的路径,如下所示:

this.videoPath = "android.resource://" + requireContext().packageName + "/" + args.videoId
其中“args.videoId”是使用以下方法生成的视频的id:

val packageName: String = context.packageName
val videoId = context.resources.getIdentifier(<video_name>, "raw", packageName) // video name for example "video1"
问题是,当我选择要共享的应用程序时,我会出错

例如,在我收到的电报中:

对于“dandroid”,Realpath失败。resource://com.mypackage.myapp/"

如果我尝试通过WhatsApp发送,则会发送类似“文件”的内容:


那么,我如何才能共享视频的mp4文件?

是的,android.resource不能在这里使用。你应该实现一个ContentProvider从raw提供服务。这以前已经做过。谢谢,我来看看。是的,android.resource不能在这里使用。你应该实现一个ContentProvider从raw提供服务。这以前已经做过。th安克斯,我去看看。
val intent = Intent(Intent.ACTION_SEND)
val uri = Uri.parse(this.videoPath)

intent.apply {
   type = "*/*"
   putExtra(Intent.EXTRA_STREAM, uri)
}

startActivity(Intent.createChooser(intent, "Sharing Video:"))