Может ли приложение для Android установить другое приложение для Android? - PullRequest
15 голосов
/ 22 июня 2010

Мне было интересно, можно ли было иметь приложение для Android, которое уже установлено, пойти и загрузить другое приложение и установить его?Я полагаю, что с этим могут быть проблемы с безопасностью, но возможно ли это сделать в ОС Android?

Ответы [ 5 ]

20 голосов
/ 22 июня 2010

Строго говоря, нет , это невозможно: каждому файлу пакета Android (.apk), установленному на устройстве, присваивается собственный уникальный идентификатор пользователя Linux, который создает для него песочницу и не позволяет ей прикасаться к другим. приложения.
Если приложение «установит» другое, оно не сможет дать цели новый идентификатор пользователя. Это может сделать только системный апплет, работающий на корневом уровне.

Что приложение может сделать, так это косвенно вызвать установщик пакета с намерением ACTION_VIEW и типом application/vnd.android.package-archive MIME: система запустит соответствующий «просмотрщик», который, конечно, является установщиком пакета.

Приятная ссылка на эту тему: http://android.amberfog.com/?p=98

9 голосов
/ 22 июня 2010

Да.Вот как работает бета-версия Swype.Что вы в основном делаете, это загружаете новый apk и используете какое-то намерение (не знаю, какой), чтобы запустить установщик пакетов (и на данный момент это новое действие, и пользователь должен согласиться на установку, как при загрузке с Маркета).

8 голосов
/ 17 января 2012

Попробуйте это:

Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.fromFile(new File(path+"/yourapp.apk")), application/vnd.android.package-archive");
startActivity(intent);
5 голосов
/ 12 июня 2012

Если ответ НЕТ.Тогда мне интересно, как Facebook устанавливает приложение "Messenger" вместе с приложением "Facebook для Android" ?Если я не ошибаюсь, «Messenger» также отличается от основного приложения Facebook.Приложение Facebook для Android не будет запрашивать установку приложения Messenger, когда мы хотим пообщаться через приложение Facebook.Он уже установлен с Facebook.Вы также можете установить / удалить приложение Messenger отдельно.Я могу ошибатьсяУ меня нет полной информации, но, глядя на процесс и применяя немного логики, я думаю, что мы можем установить приложение для Android из другого приложения.Но как я тоже учусь и ищу это.

Так как они должны были это сделать?Пожалуйста, поправьте меня, если я ошибаюсь.

0 голосов
/ 12 января 2015

Если ваше приложение имеет root-доступ, вы можете переместить apk, который вы хотите установить, в / data / app, и оно будет установлено после перезагрузки устройства

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...