Невозможно делать снимки без вставленной SD-карты. Любые решения?

У меня нет SD-карты в слоте для SD-карт моего телефона Android. Поэтому я не могу ни сфотографировать, ни загрузить. Я пытался установить другие приложения для камеры, чтобы посмотреть, может ли одно из них иметь собственное хранилище, но на самом деле ни одно из них не работало (всем нужна SD-карта для хранения файлов).

Кто-нибудь знает какие-нибудь приложения для фотосъемки, которые не нуждаются в SD-карте и имеют собственное хранилище? Или есть еще вариант?

О, и если возможно, я бы хотел, чтобы приложения были бесплатными! Спасибо.
Приложения камеры могут использовать внутреннюю SD-карту или внутреннюю память.
@Kristen, не могли бы вы уточнить, что вы подразумеваете под самохранилищем? Вы имеете в виду внутреннюю память телефона?
@SachinShekhar У него, скорее всего, один без внутренней SD.
@KirstenStickney Проверьте параметры приложений камеры. Некоторые предлагают опцию «хранилище», где вы можете выбрать, где сохранять изображения (внутренняя память или SD-карта). Если ваше устройство поставляется без SD-карты, оно должно предлагать такую ​​возможность. Но если он имеет слот для SD-карт, подумайте о его покупке (в наши дни они стоят дешево): у вас, вероятно, не так много внутренней памяти (было бы полезно, если бы вы предоставили некоторые спецификации по этому поводу).
Какой у тебя телефон?

Ответы (2)

Каждое приложение, которое хочет сделать файлы общедоступными для других приложений на устройстве Android, должно сохранять их в известном общем месте с разрешениями на чтение/запись для всех (или, по крайней мере, для приложений, которым это необходимо). Это назначенное место — /mnt/sdcard на Android, и именно здесь доступна SD-карта или внутренний эквивалент (eMMC).

Причина:

  • Если несколько приложений хотят получить доступ к какому-либо файлу (например, к изображениям, таким как G+, службе загрузки, просмотрщику галереи), им нужны соответствующие права для этого.
  • Каждое приложение имеет свой раздел личного хранилища в /data/data/[Имя пакета приложения]
  • Этот раздел является закрытым , т.е. /data/data/[PackageName] недоступен для любого другого пакета по соображениям безопасности .
  • /mnt/sdcard или /mnt/emmc — единственные разделы с общими разрешениями на чтение (и разрешениями на запись для тех приложений с соответствующим разрешением)

Вывод:
приложение, которое делает снимки и сохраняет их в своем личном кабинете, не будет полезным для других приложений. Он должен писать в /mnt/sdcard, где другие приложения предполагают общие данные, которые им доступны.

Решения:

  • Купите SD-карту, это дешево
  • Если у вас есть root, вы можете подделать файловую систему tmpfs (mount -o tmpfs none /mnt/sdcard), это решение и все сохраненные в нем данные не переживут перезагрузку вашего телефона.

Для протокола: вышесказанное не на 100% правильно, но я думаю, что оно подходит для ответа на вопрос.

Отличный ответ! Хотя я должен добавить, что указанное приложение камеры может разрешить доступ к изображениям. Гипотетически.
И, сказав это о подделке точки монтирования: нельзя ли использовать тот же подход для сопоставления некоторого внутреннего каталога? Если нет, то после монтирования tmpfs можно создать некую символическую ссылку ("dcim"), указывающую на него. Таким образом, несмотря на то, что содержимое (включая символическую ссылку) не переживет загрузку, сохранятся сохраненные изображения.
@Izzy Я думаю, что для чтения этого каталога потребуются те же разрешения, что и у того, с которым он был связан, поэтому в этом случае это было бы бесполезно. Однако с приложениями, которые не распознают наличие нескольких разделов хранилища, это может быть весьма полезно.
Вы часто можете выполнить BIND Mount для int. каталог и дать соответствующие разрешения. Я просто не вижу смысла делать это вместо того, чтобы просто купить дешевую SD-карту.
@RichardBorcsik см. комментарий ce4s: имея root-права, все возможно (вы также можете изменить права доступа к папке). Но я согласен с ce4 в другом: было бы намного проще и проще купить (даже небольшую) SD-карту за 10 баксов, чем возиться с системой и иметь хороший шанс сломать вещи.

Я мог видеть Camera ICS , бесплатное приложение в магазине Google Play.

В списке функций указано «Настраиваемый источник хранения (внутренняя / SD-карта)» (ИМХО означает «Внутренняя память / SD-карта»), что, я думаю, вам нужно.

ОБНОВЛЕНИЕ: Пожалуйста, прочитайте цепочку комментариев к этому ответу. Для выяснения того, что разработчик этого приложения имел в виду под словом «внутренний», я получил в ответ следующее:

Спасибо за вопрос. Нет, эта функция предназначена только для новых устройств /mnt/sdcardс внутренней памятью, а также с внешней SD-картой.

Думал кому-нибудь пригодится

Внутренняя SD-карта!= Внутренняя память. У него скорее всего старый телефон без большой внутренней памяти.
Спасибо, но я понял, что «/» между словами «Внутренний» и «SD-карта» означает «или», что, в свою очередь, понимается как внутреннее хранилище.
@Narayanan Может быть, вы отредактируете свой ответ, чтобы сделать это более понятным. Я понял это так, как вы имели в виду, но некоторые люди склонны упускать из виду «/» - и на самом деле это может быть неправильно истолковано как «(внутренняя или внешняя) карта» людьми, не знакомыми с терминами. Я сделаю это для вас - вы можете изменить это снова, если вам это не нравится;)
Спасибо. Я взял строковый литерал прямо из списка функций приложения в игре Google. Поскольку я хочу процитировать это буквально, я решил взять его в кавычки. Я уверен, что @Richard просто пытался навести порядок.
Я отправил электронное письмо разработчику приложения для подтверждения, и вот ответ: «Спасибо за вопрос. Нет, эта функция предназначена только для новых устройств, которые имеют «/mnt/sdcard» во внутренней памяти, а также имеют внешнюю SD-карту. ." Думал кому-нибудь пригодится.
@Narayanan спасибо за помолвку! Возможно, вы отредактируете эту информацию прямо в своем ответе, чтобы убедиться, что она не пропущена.
@Izzy Я не упустил это из виду, я использую это приложение, поэтому я знал, что оно не может этого сделать. (По причинам, указанным ce4)
@RichardBorcsik Я не хотел нападать на вас - просто другие могут запутаться, поэтому не помешает уточнить (но, честно говоря: да, я думал, что вы «один из них», так как ваш ответ не включить эту деталь ;)
@ Иззи Не волнуйся, я так и думал. Я понял только после прочтения последующих комментариев, что мой был двусмысленным.