C/C++プログラマの管理者が, Androidプログラムにチャレンジ. AndroidプログラミングのTipsをメモっていく予定です.

アクティビティマネージャ(ActivityManager)クラスを利用することで, 起動中のサービスの一覧を取得することができる.



起動中のサービス一覧を取得

  • Services01.java
    • getSystemServiceメソッドで, ActivityManagerのインスタンスを取得する.
    • ActivityManager#getRunningServicesメソッドで, 起動中のサービス情報(RunningServiceInfo)を取得する.
    • RunningServiceInfo.service#getShortClassName, getClassNameメソッド等で, クラス情報を取得し, リストに追加する.
package com.moonlight_aska.android.services01;

import java.util.ArrayList;
import java.util.List;

import android.app.ActivityManager;
import android.app.ListActivity;
import android.app.ActivityManager.RunningServiceInfo;
import android.os.Bundle;
import android.widget.ArrayAdapter;

public class Services01 extends ListActivity {
  /** Called when the activity is first created. */
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    ArrayList<String> serviceList = new ArrayList<String>();
    ActivityManager activityManager = (ActivityManager)getSystemService(ACTIVITY_SERVICE);
    // 起動中のサービス情報を取得
    List<RunningServiceInfo> runningService = activityManager.getRunningServices(100);
    if(runningService != null) {
      for(RunningServiceInfo srvInfo : runningService) {
        serviceList.add(srvInfo.service.getShortClassName());
      }
    }
    // リスト表示
    ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, serviceList);
    setListAdapter(adapter);
  }
}



コメントをかく


「http://」を含む投稿は禁止されています。

利用規約をご確認のうえご記入下さい

Menu


逆引き(基礎編)

画面表示/操作(49)

フラグメント(1)

逆引き(応用編)

Firebase(2)

AD



管理人/副管理人のみ編集できます