package com.example.android.recipe025; import java.util.Collections; import java.util.List; import android.app.Activity; import android.content.Intent; import android.content.pm.PackageManager; import android.content.pm.ResolveInfo; import android.os.Bundle; import android.util.Log; public class Recipe025 extends Activity { private static final String TAG = "Recipe025"; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); PackageManager pm = getPackageManager(); // 起動用アクティビティの定義を準備 Intent mainIntent = new Intent(Intent.ACTION_MAIN, null); mainIntent.addCategory(Intent.CATEGORY_LAUNCHER); // アプリ一覧を取得! final List<ResolveInfo> apps; apps = pm.queryIntentActivities(mainIntent, 0); // 必須ではないがアプリ名でソートする Collections.sort(apps, new ResolveInfo.DisplayNameComparator(pm)); // アプリ一覧をループ for (ResolveInfo resolveInfo : apps) { // アプリ名を取得 String AppName = resolveInfo.loadLabel(pm).toString(); Log.d(TAG, AppName); // アクティビティ名を取得 String fullClassName = resolveInfo.activityInfo.name; Log.d(TAG, fullClassName); } } }