Android, закрытие приложения с помощью: android.os.Process.killProcess (android.os.Process.myPid ()); - PullRequest
2 голосов
/ 23 февраля 2012

В моем проекте мне все равно нужно закрыть приложение (я знаю, что оно не предлагается Android, но моему заказчику это нужно).

В основном, когда мы закрываем приложение обычным способом (нажатием кнопки «Домой»), когда вы нажимаете и удерживаете кнопку «Домой» и после этого нажимаете Диспетчер задач, вы видите список активных приложений в фоновом режиме. Мне нужно удалить приложение таким образом, чтобы оно не отображалось.

После моего исследования я обнаружил, что способ использует процесс уничтожения следующим образом.

android.os.Process.killProcess(android.os.Process.myPid());

Я протестировал эту команду в тестовом проекте, и она работала нормально. Однако я не знаю, почему в этом проекте он действует как простой this.finish();. Я имею в виду, когда я нажимаю на выходное меню, оно должно закрыть все приложение, но просто закрыть действие.

Я поместил этот код в общий класс (вид деятельности), который наследует от него все остальные виды деятельности.

скажите пожалуйста в чем / в чем проблема? Спасибо

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    menu.add(Menu.NONE, Menu.FIRST, Menu.NONE, "Exit");

    return (super.onCreateOptionsMenu(menu));
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    // Handle item selection
    switch (item.getItemId()) {
        case Menu.FIRST:
            android.os.Process.killProcess(android.os.Process.myPid());
            return true;
        default:
            return super.onOptionsItemSelected(item);
    }
}

1 Ответ

1 голос
/ 23 февраля 2012

В вашем AndroidManifest.xml:

android:excludeFromRecents="true"

Следует ли исключить задачу, инициированную этим действием из списка недавно использованных приложений («недавние приложения»). То есть, когда это действие является корневым действием новой задачи, этот атрибут определяет, не должна ли задача появляться в списке последних Программы. «true», если задача должна быть исключена из списка; «ложь», если это должно быть включено. Значением по умолчанию является «ложь».

http://developer.android.com/guide/topics/manifest/activity-element.html#exclude

...