5

I have no SD card in my Android phone's SD card slot. Therefore I cannot take any photos or upload any. I have tried installing other camera apps to see if one of them might have its own storage but really none of them have worked (all need an SD card to store their files on).

Does anyody know any apps for taking pictures that do not need an SD card and have self storage? Or is there even an option?

6
  • Oh and if possible I would like apps to be free! Thanks. Jul 26, 2012 at 4:05
  • Camera apps can make use of internal sdcard or internal storage.
    – iOS
    Jul 26, 2012 at 5:20
  • @Kristen can you elaborate by what do you mean by self storage? Do you mean internal phone memory? Jul 26, 2012 at 5:46
  • @SachinShekhar He most likely has one without internal sd.
    – user13391
    Jul 26, 2012 at 6:54
  • @KirstenStickney Check with your camera apps options. Some offer a "storage" option where you can chose where to save images (internal memory or SD-Card). If your device shipped without SD-Card, it should offer such an option. But if it provides a slot for SD-cards, consider buying one (they come cheap these days): you probably do not have too much internal memory available (it would help if you provided some specs on that).
    – Izzy
    Jul 26, 2012 at 10:03

2 Answers 2

6

Every app that wants to make files publicly available to other apps on an Android device has to save to known shared location with read/write permissions to everyone (or at least the apps that need to). This designated location is /mnt/sdcard on Android and this is where the SD card or an internal equivalent (eMMC) is accessible.

Reason:

  • If multiple apps want to access some file (e.g. pictures like G+, upload service, Gallery viewer) they need appropriate rights to do so
  • Each app has its private storage section in /data/data/[App's Package Name]
  • This section is private, i.e. /data/data/[PackageName] is not accessible to any other package for security reasons
  • /mnt/sdcard or /mnt/emmc are the only sections with world read permissions (and write permissions for those apps with an appropriate permission)

Conclusion:
An app that takes pictures to save them in its private area would not be beneficial for other apps. It needs to write to /mnt/sdcard where other apps suppose shared data that is accessible to them.

Solutions:

  • Buy an SD card, it's cheap
  • I you have root, you could fake mount a tmpfs file system (mount -o tmpfs none /mnt/sdcard), this solution and all the data on saved to it will however not survive a reboot of your phone

For the record: Above said is not 100% correct but I think suitable for answering the question.

5
  • 1
    Great answer! Though I should add that the said camera app could allow access to the pictures. Hypothetically.
    – user13391
    Jul 26, 2012 at 16:51
  • 1
    And having said that about faking a mount point: couldn't the same approach could be used to map some internal directory? If not, following your tmpfs mount, some symbolic link ("dcim") could be made to point there. This way, though the content (including the symlink) would not survive a boot, the saved images would.
    – Izzy
    Jul 26, 2012 at 19:08
  • @Izzy I think reading that directory would require the same permissions as the one it was linked to, so in this case it would be useless. However with apps that don't recognize that there are multiple storage partitions it could be rather useful.
    – user13391
    Jul 26, 2012 at 19:26
  • You could oft couse do a BIND Mount to an int. directory, and give permissions accordingly. I just see no point in doing that instead oft just buying a cheap SD card.
    – ce4
    Jul 26, 2012 at 20:03
  • 1
    @RichardBorcsik see ce4s comment: having root permissions, things would be possible (you could change folder permissions as well). But I agree with ce4 on another point: it would be much easier and effordless to by (even a small) sd card for 10 bucks then to mess with the system and the good chance to break things.
    – Izzy
    Jul 26, 2012 at 21:03
2

I could see Camera ICS, a free app in Google Play Store.

It's feature list says "Configurable storage source (Internal/SD card)" (IMHO meaning "Internal Storage / SD-Card") which is what I think you want.

UPDATE: Please read the chain of comments for this answer. For clarification on what the developer of this application meant by word "internal", I got the following as a reply:

Thanks for asking. No, this feature is only for new devices that have /mnt/sdcard on internal memory and also have an external SD card.

Thought it will be useful for some one

9
  • Internal sdcard != internal storage. He most likely has an older phone without large internal memory.
    – user13391
    Jul 26, 2012 at 6:53
  • Thanks, but I understood the '/' between the words Internal and SD card mean as 'or', which in turn was understood as internal storage.
    – Narayanan
    Jul 26, 2012 at 6:57
  • @Narayanan Maybe you edit your answer to make this more clear. I understood it the way you meant, but some people tend to overlook the '/' -- and it could in fact be misinterpreted to mean "(Internal or external) card" by people not familiar with the terms. I'll do that for you -- you may change it again if you don't like it ;)
    – Izzy
    Jul 26, 2012 at 9:51
  • Thanks. I took the string literal straight off the application's feature list in Google's play. Since I want to quote it literally, I thought of putting it with in quotes. I am sure @Richard was only trying to clean things up.
    – Narayanan
    Jul 26, 2012 at 10:04
  • I sent an email to the developer of the app to confirm and here is the reply: "thanks for asking. No, this feature is only for new devices that have "/mnt/sdcard" on internal memory and also have an external SD card." Thought it will be useful for some one.
    – Narayanan
    Jul 26, 2012 at 10:06

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .