如何将传递的Hierarchical URI额外转换?

时间:2018-04-26 10:39:16

标签: java android android-intent casting uri

我的应用程序有一个意图过滤器,允许其他应用程序通过“共享”传递数据,并且意图附加内容跟随(通过迭代找到

, b

我需要从Intent.getExtras()): android.intent.extra.SUBJECT some string (java.lang.String) android.intent.extra.STREAM content://provider/resource (android.net.Uri$HierarchicalUri) 给出的URI中复制文件,但是,无法使用Intent.EXTRA_STREAM获取该文件,如果我尝试使用Intent.get<type name>Extra()来获取该文件,它没有帮助,因为我不知道如何将它转换为'普通'URI,转换为URI类导致Intent.getExtras().get(Intent.EXTRA_STREAM)

1 个答案:

答案 0 :(得分:0)

呃,我已经解决了这个问题。

实际上,我试图投靠java.net.URI代替android.net.Uri, Android的Uri似乎对Java的URI产生了一些影响。

intent.getExtras.get(Intent.EXTRA_STREAM) instanceof URI // false
intent.getExtras.get(Intent.EXTRA_STREAM) instanceof Uri // true

这就是重点。