16

まず第一に、Androidなどでタスクマネージャー/キラーを使用するのは悪いことですが、私が疑問に思っていたのは、タスクマネージャーがAdvanced Task Killer他のアプリケーションをどのように殺すのかということです。
学習体験のためだけに、これを行う簡単なアプリケーションを開発したかったのです。
アプリケーションからLinuxコマンドkillpidを実行しようとしましたが、機能しませんでした。rootが必要な場合がありますか?

では、アプリケーションからこれをどのように達成できますか?現在実行中のタスクを表示する単純なListActivityがあり、ユーザーがアイテムを長押しすると、そのタスクを強制終了します。

4

4 に答える 4

12

次を使用して信号を送信できます。

Process.sendSignal(pid, Process.SIGNAL_KILL);

プロセスを完全に強制終了するには、次の呼び出しを行うことをお勧めします。

ActivityManager.killBackgroundProcesses(PackageName)

信号を送信する前に。

于 2011-06-12T19:23:11.940 に答える
1

スレイトンはこの質問で良い答えを持っています.私は彼の答えにこの詳細を追加します:
- を使用するActivityManager.killBackgroundProcesses(PackageName)と、フォアグラウンドプロセスを強制終了できません。

K_Anas'answer to this questionでこれらのオープン ソース プロジェクトのリンクを見ました:
- github リポジトリ
- code.google

于 2012-07-25T12:15:59.987 に答える
0

これを試して、

android.os.Process.killProcess(pid)

それはうまくいくでしょう...

于 2012-07-25T09:32:15.370 に答える
-1

1- マニフェストに追加

<uses-permission android:name="android.permission.KILL_BACKGROUND_PROCESSES"/>

2 - あなたのコードで

Runtime.getRuntime().exec("adb shell killall com.example.app");

注: アプリには adb shell system/app (ルート権限) へのアクセス権が必要です

于 2016-10-26T15:29:23.183 に答える