У меня есть Android-устройство, которое запускает мое приложение в качестве системного приложения. В этом приложении есть функция обновления, которая загружает новую версию apk из Интернета, а затем перезаписывает apk на устройстве. После этого мне нужно перезапустить приложение ... и это моя проблема, я перепробовал много способов:Android - Как программно перезапустить system_process?
finish();
Intent i = getBaseContext().getPackageManager().getLaunchIntentForPackage(getBaseContext().getPackageName());
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(i);
System.exit();
android.os.Process.killProcess(pid);
Я заметил, что если остановить system_process в Eclipse, мои устройства перезагружается, приложение обновления и новая версия моего приложения запущена. Итак, мой вопрос: как я могу остановить/перезапустить system_process программно? Или у вас есть хорошая идея перезапустить и запустить мое новое приложение с версией? Thx:
попробуйте эту ссылку http://stackoverflow.com/questions/2486934/programmatically-relaunch-recreate-an-activity –
chnage этот android.os.Process.killProcess (PID) в ---> android.os.Process.killProcess (android.os.Process.myPid()); – KOTIOS
Привет. Если я убью свое приложение с помощью killProcess, он пойдет в мертвый цикл ... ActivityManager убивает процесс, а затем звезды, но он выдает исключение NullPointerException и снова умирает ... –