私のアプリは、次のようなインテントでギャラリーを呼び出しています。
Intent intent = new Intent(Intent.ACTION_PICK,
android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
startActivityForResult(intent, SELECT_IMAGE_FROM_GALLERY);
バージョン < 3.0 では問題ありません。
3.0 以降のバージョンでは、ローカル イメージを取得すると、onActivityResult メソッドのインテントに次のような Uri が含まれます...
content://media/external/images/media/XXX
しかし、picasa 画像を選択すると、URI は次のようになります...
content://com.google.android.gallery3d.provider/picasa/item/XXXXXXXXXXXXXXXXXXXXX
私はその問題について多くのことを読み、多くの回避策を試しました。
現時点では、次を使用してキャッシュされた画像のみを取得できます。
getContentprovider().openInputStream(uri)
問題は、画像がキャッシュされていない場合、openInputStream(uri)メソッドがFileNotFoundExceptionをスローし、画像を取得できないことです:_(
ファイルまたはファイルをダウンロードするためのURLまたは画像を取得するためのURLを取得する方法を知っている人はいますか??
ありがとう!!