我的应用程序中有此代码,它是通过共享按钮从另一个应用程序接收文件。在这里,没问题。
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
}
}
问题是我想要文件的绝对绝对路径,是的,我不想使用文件或其他任何东西,我想要设备上文件的实际路径。
我已经尝试了1000件事,也是使用Cursor的解决方案,但是它们返回null或其他令人费解的错误。
我试图将文件保存在内部存储器或应用程序的缓存中,但我也没有得到它。
连连呢? 谢谢!
答案 0 :(得分:2)
我想要文件的绝对绝对路径。
你不应该那样想。只要您不必提供“路径”,就没有理由这样做。到外部图书馆。
只需打开InputStream
即可。从流中读取并保存到文件。
InputStream is = getContentResolver().openInputStream(imageUri);
您可以将输入流用作文件输入流。