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" Это будет определенно работать. Я уже создал пример приложения для тех же