我遇到了以下问题。
我的应用程序向用户显示图像库以选择文件,然后打开输入流以读取该文件并通过某种介质发送。这是完成工作的代码:
ContentResolver resolver = getContentResolver();
fileStream = resolver.openInputStream(fileUri);
当所选图像驻留在设备存储上时(如从相机拍摄的照片等),一切都很有效,我得到了一个内容://方案URI。问题是当我从Picasa相册中选择一张图片时,该相册显然会根据需要从Picasa服务器加载图片。在这种情况下,我得到一个https://方案URI,openInputStream
调用失败,FileNotFoundException为“No content provider”。
我的问题是在这种情况下获取输入流的最佳方法是什么?我正在考虑打开一个URL连接,但我想知道这是否是最佳选择?我不确定Android中的内容提供商是否可以为此提供更好的解决方案。
答案 0 :(得分:1)
content:// urls标识本地设备上的资源。
https://标识远程服务器上的内容(picasa网络服务器)。我假设你看到了这些,因为你有一个HTC设备,其中picasa被意义上整合到画廊中。
当您获得https://地址时,您需要直接从服务器获取数据 见google-api-java-client.