Я пишу приложение MDM, которое может обновить себя через PM (pm install -r my.apk
). Несколько служб в моем приложении должны быть запущены после обновления. Я могу сделать это? Устройства укоренены.Как перезагрузить сам пакет после обновления
1
A
ответ
1
На самом деле, это возможно ,
У меня была такая же проблема, мне нужно было обновить приложение и перезапустить его потом. Я решил так:
String command = "pm install -r " + filename + ";am start -n com.example.myapp/com.example.myapp.Start";
Это позволит установить приложение, а затем позвонить «я начать», чтобы запустить приложение снова. Просто замените com.example.myapp на имя вашего пакета, а параметр после/- это активность, которую вы хотите запустить.
Я знаю, что это старый пост, но я наткнулся на него, когда я искал решение, так что, может быть, это может помочь другим в будущем :)
1
Боюсь, что само обновление не возможно. При самообновлении вашего приложения система будет убивать процесс, выполняющий обновление.
У вас есть два варианта:
- создать второе приложение, которое будет выполнять
pm install -r my.apk
безопасно - создать простой скрипт обновления в скорлупе и сделать его запустить при загрузке устройства
Он работает на одном из моих устройств (Android 4.4, но не работает на другом - Android 5.1). Я не нашел способ (пока), чтобы заставить его работать как на – Marcin
Оба устройства укоренены? – Dan