Android-версия
Я ищу способ запрограммировать приложение для установки файла apk.
Я знаю, что возможность запуска кода выглядит примерно так:
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.fromFile(apkFile), "application/vnd.android.package-archive");
startActivity(intent);
но этот сбор кода перед установкой запускает диалог с правами доступа apk и требует от пользователя авторизации для запуска установки.
Можно ли пропустить этот диалог?
Есть ли другой способ установить приложение во время выполнения из моего кода, который не требует взаимодействия с пользователем?
Ответы
Ответ 1
Нет. И это хорошо, это будет (другая) открытая дверь для вредоносного ПО и нежелательной установки. Почему вы хотите это сделать, если вы не возражаете, чтобы я спросил? Что не так, если пользователи знают, что вы хотите что-то установить на своем устройстве?
Кроме того, некоторые подробности здесь: Тихая установка на устройствах Android
И, наконец, это может быть возможно для корневых устройств: если вы пишете собственный установщик, вы можете полностью обойти встроенный установщик и с привилегиями root, вы можете в основном делать то, что хотите. Но я все же думаю, что это будет серьезное нарушение безопасности.
Ответ 2
Да, вы можете, но вам нужен root-доступ, или ваше приложение должно быть подключено к системе.
Вы можете установить приложение без использования оболочки с помощью командной строки pm install "apk path"
Это будет определенно работать. Я уже создал пример приложения для тех же