Вот дикое предположение новичка:
Android находится поверх операционной системы Linux, как показано здесь . Если вы подключитесь к своему виртуальному устройству Android (avd) и откроете эмулятор терминала или подключитесь через ADB , вы обнаружите, что у вас есть доступ к различным командам Linux.
C:\Users\james>adb -e shell
# cd /system/bin
# ls -a -l
...
lrwxr-xr-x root shell 2010-06-30 15:32 insmod -> toolbox
-rwxr-xr-x root shell 18172 2010-06-30 15:32 installd
lrwxr-xr-x root shell 2010-06-30 15:32 ioctl -> toolbox
lrwxr-xr-x root shell 2010-06-30 15:32 ionice -> toolbox
-rwxr-xr-x root shell 10036 2010-06-30 15:33 keystore
-rwxr-xr-x root shell 6520 2010-06-30 15:33 keystore_cli
lrwxr-xr-x root shell 2010-06-30 15:32 kill -> toolbox
Обратите внимание, что большинство команд - это просто ссылки на одну небольшую программу (набор инструментов).
Я могу перечислить запущенные программы с помощью команды ps
, но если я пытаюсь убить их с помощью команды kill
... он говорит, что у меня нет разрешения. Возможно, вам удастся создать диспетчер задач, который использует базовые команды ps и kill, чтобы выполнить за вас грязную работу. Возможно, вам придется преодолеть некоторые проблемы с разрешениями.
Полагаю, вы можете запустить системные команды примерно так:
Runtime.getRuntime().exec("ls");
Edit:
Я пролистал этот менеджер задач с открытым исходным кодом, но я не видел, как это происходит с убийствами задач. Может быть, кто-то более опытный может объяснить это.