public class MainActivity extends Activity{
/**
*@param apps 创建集合用于收集app对象。
*/
private List apps;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//
loadApps();
}
private void loadApps() {
Intent intent = new Intent(Intent.ACTION_MAIN, null);
intent.addCategory(Intent.CATEGORY_LAUNCHER);
apps = getPackageManager().queryIntentActivities(intent, 0);
//排序
Collections.sort(apps, new Comparator<ResolveInfo>() {
@Override
public int compare(ResolveInfo a, ResolveInfo b) {
return String.CASE_INSENSITIVE_ORDER.compare(
a.loadLabel(getPackageManager()).toString(),
b.loadLabel(getPackageManager()).toString()
);
}
});
//for循环遍历ResolveInfo对象获取包名和类名
for (int i = 0; i < apps.size(); i++) {
ResolveInfo info = apps.get(i);
String packageName = info.activityInfo.packageName;
CharSequence cls = info.activityInfo.name;
CharSequence name = info.activityInfo.loadLabel(getPackageManager());
//log打印
Log.e("ddddddd",name+"----"+packageName+"----"+cls);
}
}
}