На данный вопрос уже ответили:
Пишу модуль для обновления приложения программно.
Необходимо установить новую версию .apk программно, чтоб клиент даже не знал что у него обновилось приложение.
Возможно ли это? И если да, то как?
Установить приложение программно в silent mode без прав рута в общем случае невозможно.
К тому же, если приложение с подобным функционалом опубликовано в Google Play, то оно может быть заблокировано (обновление должно быть опционально и только через Google Play).
Если есть рут, то можно примерно так:
public static void installAPK(String filename) {
File file = new File(filename);
if (file.exists()) {
try {
String command;
command = "adb install -r " + filename;
Process proc = Runtime.getRuntime().exec(new String[]{"su", "-c", command});
proc.waitFor();
} catch (Exception e) {
e.printStackTrace();
}
}
}
Делается это так:
Intent installIntent = new Intent(Intent.ACTION_VIEW);
installIntent.setDataAndType(Uri.parse("file:///path_to.apk"),
"application/vnd.android.package-archive");
//или если установка из маркета
installIntent.setData(Uri.parse("market://details?id=app.package.name"));
startActivity(installIntent);
В любом случае, без одобрения юзера установка не пройдет: выскочит уведомление - типа вы уверены?
Никак, надо просто запустить стандартную установку, а пользователь сам решит, надо ему это или нет.
Оборудование для ресторана: новинки профессиональной кухонной техники
Частный дом престарелых в Киеве: комфорт, забота и профессиональный уход
Недавно начал изучение java и android и решил написать приложениеЕсть некий метод loadData(List<Item> itemList);, который на вход принимает коллекцию
Здравствуйте! Для таблицы JTable поставил isCellEditable в false
В Update cтреляем лучом по коллайдеру и получаем у него нужный нам родительский объект