コンテキスト: ユーザーがボタンをクリックし、携帯電話から画像を選択すると、その画像がアプリケーションに表示される単純なアプリケーションを作成しています。これを実現するには、ユーザーが画像を選択するためのインテントを起動します。
問題: ユーザーが画像を選択したときに、それが .jpg ファイルの場合、表示されません。ただし、.png ファイルの場合は、期待どおりに機能します。
注: Bitmap の結果が null ではなく、logcat にエラーや、decodefile メソッドからのメッセージがないことを確認しました。
どんな助けでも大歓迎です
コード:
public void onActivityResult(int requestCode, int resultCode, Intent data)
{
if (requestCode == SELECT_PICTURE)
{
Uri selectedImageUri = data.getData();
selectedImagePath = getPath(selectedImageUri);
Toast.makeText(getApplicationContext(), "path is " + selectedImagePath, Toast.LENGTH_LONG).show();
ImageView image = (ImageView)findViewById(R.id.selectedImage);
if (image == null)
Toast.makeText(getApplicationContext(), "No image to update", Toast.LENGTH_SHORT).show();
Bitmap result = BitmapFactory.decodeFile(selectedImagePath);
if (result == null)
Toast.makeText(getApplicationContext(), "Couldn't upload image because it's null", Toast.LENGTH_LONG).show();
image.setImageBitmap(result);
}
}