LoginSignup
16
17

More than 5 years have passed since last update.

待機中アプリ終了方法

Last updated at Posted at 2014-05-24

使用するクラス・メソッド

ActivityManagerクラスには、Android OS 2.2(API level 8)から
ActivityManager#killBackgroundProcesses
というメソッドが追加されました。
http://developer.android.com/reference/android/app/ActivityManager.html#killBackgroundProcesses(java.lang.String)

引数に渡したpackageName(String)のアプリケーションをkillする処理を行ってくれるようです。
ただ実行しているアプリ自身は終了できません。

アプリのパッケージ名取得

端末にインストールされたアプリのパッケージ名を取得してみましょう。

PackageManager pm = getPackageManager();
List<ApplicationInfo> list = pm.getInstalledApplications(0);

for (int i = 0; i < appList.size(); i++) {
    Log.d("installApp",appListSize.get(i).packageName);
}

LogCatを確認
スクリーンショット 2014-05-25 0.24.04.png

取得できているようです

アプリのパッケージ名を指定してアプリをkillさせる

ActivityManager#killBackgroundProcessesにpackageNameを渡して実際に使ってみます。

<uses-permission android:name="android.permission.KILL_BACKGROUND_PROCESSES" />
ActivityManager activityManager = ((ActivityManager) getSystemService(ACTIVITY_SERVICE));
PackageManager pm = getPackageManager();
List<ApplicationInfo> appList = pm.getInstalledApplications(0);

for (int i = 0; i < appList.size(); i++){
    activityManager.killBackgroundProcesses(appList.get(i).packageName);
}

終了されたか確認する

実行前に色んなアプリを起動してHomeボタンを押してサスペンドしておいてください。
その後、アプリを実行してバックグラウンドで待機状態にしてあったアプリを立ち上げてみてください。

新たにアプリが立ち上がり、killされていることが確認できたでしょうか?

16
17
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
16
17