从共享视频文件中获取真实文件路径
Get the Real FilePath from a shared video file
大家早上好
我的应用程序中有这段代码,它是通过共享按钮从另一个应用程序接收文件。在这里,没问题。
Intent intent = getIntent();
String action = intent.getAction();
String type = intent.getType();
if (Intent.ACTION_SEND.equals(action) && type != null) {
if (type.startsWith("video/")) {
Uri imageUri = intent.getParcelableExtra(Intent.EXTRA_STREAM);
String path = imageUri.getPath();
// /item/4567592 --> whatsapp
// /media/telegram/telegram docuemnts/name.mp4 --> telegram
// no more apps tested
}
}
问题是我要的是文件的absolute绝对路径,是的,我不想用一个File,或者别的,我要的是文件在设备上的实际路径。
我已经尝试了 1000 种方法,也尝试了使用 Cursor 的解决方案,但是它们 return 无效,或者其他令人费解的错误。
我试图将文件保存到内存或应用程序的缓存中,但我也没有得到。
建议?
谢谢!
I want the absolute absolute path of the file.
你不应该想要那个。只要您不必向外部库提供 'path' ,就没有理由这样做。
只需打开一个InputStream
。从流中读取并保存到文件。
InputStream is = getContentResolver().openInputStream(imageUri);
您可以像使用文件输入流一样使用输入流。
大家早上好
我的应用程序中有这段代码,它是通过共享按钮从另一个应用程序接收文件。在这里,没问题。
Intent intent = getIntent();
String action = intent.getAction();
String type = intent.getType();
if (Intent.ACTION_SEND.equals(action) && type != null) {
if (type.startsWith("video/")) {
Uri imageUri = intent.getParcelableExtra(Intent.EXTRA_STREAM);
String path = imageUri.getPath();
// /item/4567592 --> whatsapp
// /media/telegram/telegram docuemnts/name.mp4 --> telegram
// no more apps tested
}
}
问题是我要的是文件的absolute绝对路径,是的,我不想用一个File,或者别的,我要的是文件在设备上的实际路径。
我已经尝试了 1000 种方法,也尝试了使用 Cursor 的解决方案,但是它们 return 无效,或者其他令人费解的错误。
我试图将文件保存到内存或应用程序的缓存中,但我也没有得到。
建议? 谢谢!
I want the absolute absolute path of the file.
你不应该想要那个。只要您不必向外部库提供 'path' ,就没有理由这样做。
只需打开一个InputStream
。从流中读取并保存到文件。
InputStream is = getContentResolver().openInputStream(imageUri);
您可以像使用文件输入流一样使用输入流。