Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/228.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.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
如何从uri获取路径?android开发_Android_Kotlin_Video Processing - Fatal编程技术网

如何从uri获取路径?android开发

如何从uri获取路径?android开发,android,kotlin,video-processing,Android,Kotlin,Video Processing,我是超级新的URI和路径在移动应用。我需要从URI获取设置为视频视图的路径。 从uri.path()中检索,如下所示 “/5/2/content://media/external/video/media/3200/ORIGINAL/NONE/160511194" 当我将上面的uri.path()设置为“视频视图”时,出现的错误表示文件不存在 所以我需要。。 示例:来自URI “/storage/simulated/0/Pictures/App/crapped.mp4” 我需要知道有没有可能得到,

我是超级新的URI和路径在移动应用。我需要从URI获取设置为视频视图的路径。 从uri.path()中检索,如下所示

“/5/2/content://media/external/video/media/3200/ORIGINAL/NONE/160511194" 当我将上面的uri.path()设置为“视频视图”时,出现的错误表示文件不存在

所以我需要。。 示例:来自URI “/storage/simulated/0/Pictures/App/crapped.mp4”


我需要知道有没有可能得到,这个呼叫路径是什么或者其他什么

您需要从
uri
获取绝对路径。通常,
content://
路径是从下载文件夹或任何驱动器路径返回的,您需要获取它的实际路径。 你可以试试这个

fun Uri.getPathString(context: Context): String {
var path: String = ""

context.contentResolver.query(
    this, arrayOf(MediaStore.Images.Media.DATA),
    null, null, null
)?.apply {
    val columnIndex = getColumnIndexOrThrow(MediaStore.Images.Media.DATA)
    moveToFirst()
    path = getString(columnIndex)
    close()
}

return path
}

您无法获取Uri路径并编辑文件,因为您使用Uri获取的文件具有临时授予的Uri权限,并且您对这些文件的访问权限有限,但如果您只需要在视频视图上显示视频,则可以使用
setVideoURI(Uri Uri)
在视频视图上。

您告诉了我们uri.path的值,但查看了uri.string并看到了一个好的内容方案。然后完全不清楚您想要什么。如果您有一个好的内容方案,您甚至不会尝试获取经典文件路径。相反,您应该按原样使用uri(内容方案)。您无法从uri获取路径。由于安全原因,许多决策为方法Uri.getPath()返回null。但是,您可以从uri打开inputstream并读取数据。然后,您可以将数据写入临时文件并使用此临时文件。这是否回答了您的问题?谢谢你们,但并不是我所期望的。若你们能解释一下URI、绝对路径和文件路径之间的区别或提供参考,我将不胜感激?