0

私の問題は、ギャラリーから画像を取得し、画像をビットマップに変換するために BitmapFactory.decodeResource() を使用することですが、問題は、画像がエミュレーターで取得されますが、実際のデバイスでは取得されず、実際のデバイスではビットマップ値が null になることです。以下はギャラリー画像をデコードするための私のコードです。

String Galleryimagepath="/mnt/sdcard/DCIM/.thumbnails/1308059312410.jpg";     
bmpImage = BitmapFactory.decodeFile(Galleryimagepath);
drawable = new BitmapDrawable(bmpImage);
mRlayoutmainimage.setBackgroundDrawable(drawable);

任意のヘルプをいただければ幸いです。

4

2 に答える 2

1

Yashwanth の言うとおりです。デバイスとエミュレータの間でパスが異なる場合があります。さらに、デバイスごとにパスが異なる場合もあります。必要な画像のコンテンツ URI を取得し、MediaStore.Images.Thumbnails.getThumbnail() を使用して探しているビットマップを取得する方がよいでしょう。

MediaStore.Images.Thumbnails

于 2011-10-17T07:58:21.227 に答える
0

実機のSDカードパスは違うと思います。次のようなものを使用する必要があるかもしれません

Environment.getExternalStorageState()

次のリンクを確認してください。

外付け SD カードの場所を探す

于 2011-10-17T07:41:46.627 に答える