public class AppInfoActivity extends Activity {
/** Called when the activity is first created. */
TextView textView;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
textView=(TextView) findViewById(R.id.textView1);
initText();
}
private void initText() {
// TODO Auto-generated method stub
ArrayList<AppInfo> appInfos=new ArrayList<AppInfo>();
List<PackageInfo> packageInfos=getPackageManager().getInstalledPackages(0);
for (int i = 0; i < packageInfos.size(); i++) {
PackageInfo packageInfo = packageInfos.get(i);
AppInfo tmpInfo = new AppInfo();
tmpInfo.appname = packageInfo.applicationInfo.loadLabel(getPackageManager()).toString();
tmpInfo.packagename = packageInfo.packageName;
tmpInfo.versionName = packageInfo.versionName;
tmpInfo.versionCode = packageInfo.versionCode;
tmpInfo.appicon = packageInfo.applicationInfo.loadIcon(getPackageManager());
System.out.println(tmpInfo.toString());
textView.append(tmpInfo.toString()+"\r\n");
appInfos.add(tmpInfo);
}
}
}
class AppInfo {
int versionCode = 0;
//名称
String appname = "";
//包
String packagename = "";
String versionName = "";
//图标
Drawable appicon = null;
@Override
public String toString() {
return "AppInfo [versionCode=" + versionCode + ", appname=" + appname
+ ", packagename=" + packagename + ", versionName="
+ versionName + "]";
}
}
参考:http://yarin.blog.51cto.com/1130898/451497