Можно ли включить эти apks в мое приложение, чтобы они также автоматически устанавливались при настройке моего приложения?
Это, вероятно, не очень хорошая идея.
Во-первых, это, вероятно, нарушение авторских прав, если у вас нет явного разрешения от этих разработчиков на сборку таким образом.
Затем возникает вопрос, действительно ли эти разработчики предоставили API, который, как они ожидают, вы будете использовать таким образом, и является ли этот API уникальным для них или является частью общей системы (например, ACTION_SEND
). Пользователи должны иметь возможность устанавливать любые приложения, которые они хотят, которые выполняют общий запрос Intent
(например, ACTION_SEND
), и не должны быть вынуждены использовать какое-либо приложение, которое вы указываете. И вам не следует интегрироваться с приложениями, которые не предоставляют задокументированный и поддерживаемый API или иным образом не указывают, что они заинтересованы в такой интеграции.
Затем возникает вопрос, можно ли впоследствии обновлять эти приложения, если они изначально не были установлены через какую-либо стандартную службу распространения (например, Android Market).
Кроме того, все эти APK-файлы делают ваш собственный APK-файл намного больше, занимая гораздо больше места на устройстве.
Если вы можете пройти через все это, это должно быть возможно. Упакуйте APK как ресурсы, скопируйте их при первом запуске во внешнее хранилище, затем запустите ACTION_VIEW
Intent
для них через startActivity()
, используя правильный тип MIME.
Однако, опять же, это, вероятно, не очень хорошая идея.
Кажется, это довольно плохой способ позволить пользователю устанавливать эти приложения вручную...
В идеале ваше приложение не должно зависеть от этих других приложений, поэтому не имеет большого значения, есть они у пользователя или нет. Вы можете определить, есть ли они там с помощью PackageManager
и queryIntentActivities()
, а затем использовать это, чтобы определить, хотите ли вы отключить части своего приложения или направить пользователя на установку дополнительных приложений и т. д.
person
CommonsWare
schedule
12.03.2011