Крюк для закрытия метода на уровне приложения

Это сработало для меня:

sudo mount /dev/cdrom /media/cdrom
sudo apt install -y dkms build-essential linux-headers-generic linux-headers-$(uname -r)
sudo sh /media/cdrom/VBoxLinuxAdditions.run

Затем перезагрузили виртуальную машину.

0
задан 13 August 2018 в 15:27

1 ответ

В большинстве случаев ваш класс приложений не будет знать, что он будет закрыт, потому что обычно он просто убит системой. Вы можете скрыть активность, но вы не можете скрыть приложение, так как оно всегда существует (до тех пор, пока выполняется процесс). И если пользователь (или система) решает вручную убить его, вы не получите никакой возможности сохранить свои данные, поскольку это может занять много времени. Таким образом, лучший способ - вызвать пользовательский метод в приложении из onStop () вашей активности и сохранить все, что вам нужно.

В классе активности:

    @Override
    protected void onStop()
    {
        ((CustomApplication)getApplication()).onCloseCustom();
        super.onStop();
    }

В вашем классе приложения

    public void onCloseCustom()
    {
        //do whatever you need
    }
0
ответ дан 15 August 2018 в 17:00
  • 1
    В чем смысл определения onCloseCustom (), когда он был вызван onStop ()? – Pingpong 14 August 2018 в 02:26
  • 2
    Как вы сказали, не дублируя одну и ту же логику для каждой деятельности. Я не могу придумать другого способа, которым ваше заявление может быть уведомлено о возможном закрытии. И насколько я знаю, он не может быть уведомлен системой. Потому что пользователь всегда может убить задачу, и приложение будет немедленно закрыто, если вы не будете делать что-то свое. – funbiscuit 14 August 2018 в 09:05

Другие вопросы по тегам:

Похожие вопросы: