Как предотвратить установку Android-приложения, если SDCard отсутствует?

Моей логике кода нужна SD-карта, установленная в устройстве. Я добавил проверку для этого случая во всплывающем окне приложения, но хотел бы сообщить пользователям, прежде чем загружать / устанавливать это приложение. Есть ли способ достичь этого?

Благодаря !

Невозможно сделать это до того, как приложение будет установлено, поскольку единственный способ ограничить такие вещи – использовать <uses-feature> . Однако этот тег не имеет параметров для требований к хранению. Лучшее предупреждение, которое вы можете дать, это включить его в описание вашего приложения.

С другой стороны, каждое устройство, которое я когда-либо слышал о встречающемся, имеет внешнюю память, будь то SD-карта или встроенная память, смонтированная в качестве внешнего хранилища. То, что вы делаете, используя Splash Screen для проверки внешнего хранилища, – лучший способ сделать это, поскольку другого варианта нет.

Невозможно это сделать. Ваше приложение должно быть установлено для проверки среды пользователя. Вы можете попытаться обеспечить установку SD-карты вашего приложения, поэтому, если нет ни одного приложения Google Play (не протестировано), просто не разрешите установку приложения вообще, но оно не решит вашу проблему, так как пользователь все равно не знает, почему. Решение состоит в том, чтобы четко указать в описании продукта, что SD-карта является обязательной. Но обратите внимание, что требуемая SD-карта является рискованной, так как многие устройства не имеют никаких дополнительных внешних хранилищ. Мое предложение – просто добавьте примечание о требованиях к хранению и позвольте системе справиться с этим.

Я думаю, что это НЕ ВОЗМОЖНО . Вы проверяете sdcard на заставке и не позволяете пользователю выполнить следующий процесс – это правильное решение или используйте android:installLocation для установки приложения для Android на SD-карте.

Начиная с уровня API 8, вы можете разрешить установку вашего приложения во внешнем хранилище (например, SD-карту устройства). Это дополнительная функция, которую вы можете объявить для своего приложения с помощью атрибута android: installLocation.

 <manifest xmlns:android="http://schemas.android.com/apk/res/android" android:installLocation="preferExternal" ... > 

Если вы объявляете «preferExternal», вы запрашиваете, чтобы ваше приложение было установлено во внешнем хранилище, но система не гарантирует, что ваше приложение будет установлено на внешнем хранилище. Если внешнее хранилище заполнено, система будет устанавливать его на внутреннюю память. Пользователь также может перемещать ваше приложение между двумя местоположениями.

Когда ваше приложение установлено во внешнюю память:

  • На производительность приложения не влияет, пока внешнее хранилище монтируется на устройстве.
  • Файл .apk сохраняется во внешней памяти, но все личные пользовательские данные, базы данных, оптимизированные файлы .dex и извлеченный собственный код сохраняются во внутренней памяти устройства.
  • Уникальный контейнер, в котором хранится ваше приложение, зашифровывается случайным образом сгенерированным ключом, который может быть расшифрован только устройством, которое его первоначально установило. Таким образом, приложение, установленное на SD-карте, работает только для одного устройства.
  • Пользователь может переместить ваше приложение во внутреннее хранилище через системные настройки.

Смотрите здесь для более подробной информации.

Intereting Posts
Какая самая быстрая мобильная платформа для создания приложения Bluetooth? Исключение Null Pointer для дочернего элемента onMeasure (): futuresimple / floating-action-button Закрытие фрагмента автозаполнения Android Place самостоятельно OpenCV Android NDK Project не будет строить Как сделать входящий звонок в эмуляторе Genymotion для Android? Андроид xml Текстовый атрибут textview не может принимать значение «<» как значение Как включить информацию о трафике по определенному маршруту в Google Maps V2? Стол активности Android Использование strings.xml w / Android Как установить максимальную ширину на LinearLayout так, чтобы она не растягивалась в ландшафтном режиме? Как программно запустить конкретное приложение в Android? Как сделать форму с левым верхним округлым углом и левым нижним закругленным углом? Matrix.setTranslate () только преобразует визуальную поверхность View, а не зону с кликом? Могу ли я отправить выпущенное приложение с Eclipse прямо на устройство? EditText не сохраняется автоматически при изменении ориентации экрана