代码之家  ›  专栏  ›  技术社区  ›  AlanSTACK

返回的UriIntent.ACTION\u GET\u内容总是在磁盘上的某个地方,或者可以在任何地方?

  •  1
  • AlanSTACK  · 技术社区  · 7 年前

    目前,我有以下代码,允许用户选择一个图像。

    int requestCode = 1337;
    
    Intent chooserIntent = new Intent(Intent.ACTION_GET_CONTENT);
    chooserIntent.setType("image/*");
    chooserIntent = Intent.createChooser(chooserIntent, "Please choose a picture");
    chooserIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
    startActivityForResult(chooserIntent, requestCode);
    

    Uri 总是指向磁盘上的某个位置,或者是否也可能指向internet上的某个位置?

    附笔。 虽然我不确定,但是 这段代码返回的似乎总是以 content:// -我不确定这是否适用于所有可能的返回值,我想我应该在这里添加这个来帮助任何可能的问题答案。

    1 回复  |  直到 7 年前
        1
  •  1
  •   Vikasdeep Singh    7 年前

    Android是否保证返回的Uri总是指向 在网上的某个地方?

    有可能有Uri以外的本地磁盘,也就是说,它可以远程。您将从远程获取URL,然后将其转换为Uri并使用它。

    official docs :

    获取内容的操作可以允许用户创建数据 跑步(例如拍照或录音), 让他们 浏览网页并下载所需的数据 等等。

    将Url转换为Uri( Reference

    Uri uri =  Uri.parse( "http://www.facebook.com" );