PackageManagerを使う
package com.efolab.listofinstalled;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import android.app.Activity;
import android.content.Context;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageManager;
import android.graphics.Color;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.LinearLayout;
import android.widget.ListView;
public class Main extends Activity {
Called when the activity is first created.
Context context;
LinearLayout layout;
ListView lv;
ArrayList<Map<String,String>> collection;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
TODO
context = getApplicationContext();
layout = new LinearLayout(context);
layout.setOrientation(LinearLayout.VERTICAL);
setContentView(layout);
lv = new ListView(context);
lv.setBackgroundColor(Color.BLACK);
layout.addView(lv);
List<ApplicationInfo> list = getInstalledPackageList();
ArrayAdapter<String> adapter = new ArrayAdapter<String>(context, android.R.layout.simple_list_item_1);
for(int i=0;i<list.size();i++){
adapter.add(list.get(i).packageName);
}
lv.setAdapter(adapter);
}
private List<ApplicationInfo> getInstalledPackageList() {
PackageManager pm = getPackageManager();
List<ApplicationInfo> list = pm
.getInstalledApplications(PackageManager.GET_META_DATA);
return list;
}
}
Manifest.xml
<manifest xmlnsandroid="http://schemas.android.com/apk/res/android"
package="com.efolab.listofinstalled"
androidversionCode="1"
androidversionName="1.0" >
<uses-sdk
androidminSdkVersion="8"
androidtargetSdkVersion="17" />
<application
androidallowBackup="true"
androidicon="@drawable/ic_launcher"
androidlabel="@string/app_name"
androidtheme="@style/AppTheme" >
<activity androidname="Main">
<intent-filter>
<action androidname="android.intent.action.MAIN"/>
<category androidname="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
</application>
</manifest>