is there a way to get the DCIM path (it may be on sdcard or on device)on Api level 7? Environment.DIRECTORY_DCIM is available only from api level 8
I think the DCIM directory is never on the internal storage (My HTC Legend won't even take photo's without an sd-card present). The Environment.DIRECTORY_DCIM variable is just the String "DCIM" ref.
The reason for storing images in /DCIM is compatibility with cardreaders (printers for example) who expect pictures to be available in /DCIM, so I don't think it makes sense to have it on internal storage.
Anyway the folder on external storage (sd-card) can be accessed like this:
File rootsd = Environment.getExternalStorageDirectory();
File dcim = new File(rootsd.getAbsolutePath() + "/DCIM");