0

次のようなプレフィックス付きのパスにカメラ画像を保存します。

String path = Environment.getExternalStorageDirectory().getPath()+/*myFolder&myFileName*/;

正しく保存されているもの

/storage/emulated/0/myapp/target060613_112341.jpg

次に、このコードを使用して、この画像を ImageView に入れたいと思います。

public void addImageToGallery(String path) {
    ImageView imv = new ImageView(mGUIView.getContext());
    Bitmap bitmap = BitmapFactory.decodeFile(path);
    imv.setImageBitmap(bitmap);
    imv.setAdjustViewBounds(true);
    imv.setMaxHeight(100);
    RelativeLayout rl = (RelativeLayout) findViewById(R.id.RelativeImageGallery);
    RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(
        RelativeLayout.LayoutParams.WRAP_CONTENT,
        RelativeLayout.LayoutParams.WRAP_CONTENT);
    lp.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);
    lp.addRule(RelativeLayout.ALIGN_PARENT_LEFT);
    lp.addRule(RelativeLayout.ALIGN_LEFT);
    rl.addView(imv, lp);
}

しかし、BitmapFactory.decodeFile(path) が呼び出されると問題が発生します... 関数は、そのようなファイルまたはディレクトリが存在しないというエラーを返します (ENOENT)

マニフェストにもw/r権限があります:

uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"
uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"

getFilesDir().getAbsolutePath()内部パス ( )に jpg ファイルを保存して取得しようとすると、同じエラーが発生します。

4

1 に答える 1