【问题标题】:Using http / https URIs as content URIs in Android在 Android 中使用 http / https URIs 作为内容 URIs
【发布时间】:2011-12-22 09:10:56
【问题描述】:

我遇到了以下问题。

我的应用程序将图像库呈现给用户以选择文件,然后打开一个输入流以读取该文件并通过某种媒体发送它。这是完成工作的代码:

ContentResolver resolver = getContentResolver();            
fileStream = resolver.openInputStream(fileUri);

当所选图像驻留在设备存储中(例如从相机拍摄的照片等)并且我得到一个 content:// 方案 URI 时,一切都很好。问题是当我从我的 Picasa 相册中选择一张图片时,该相册显然会按需从 Picasa 服务器加载图片。在这种情况下,我得到一个 https:// 方案 URI,并且 openInputStream 调用失败,并出现 FileNotFoundException“无内容提供者”。

我的问题是在这种情况下获取输入流的最佳方式是什么?我正在考虑打开一个 URL 连接,但我想知道这是否是最佳选择?我不确定 Android 中的内容提供程序是否可以为此提供更好的解决方案。

【问题讨论】:

  • Picasa 图片如何显示在图库中?
  • 我猜它可以通过我的 Google 帐户访问我的 Picasa 相册

标签: android uri android-contentprovider


【解决方案1】:

content:// urls 标识本地设备上的资源。

https:// 标识远程服务器(picasa 网络服务器)上的内容。我假设您看到这些是因为您有一台 HTC 设备,其中 picasa 通过感知集成到图库中。

当您获得 https:// 地址时,您需要直接从服务器获取数据。
google-api-java-client.

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-12-27
    • 1970-01-01
    • 1970-01-01
    • 2011-04-26
    • 1970-01-01
    • 1970-01-01
    • 2011-05-22
    相关资源
    最近更新 更多