Я пишу приложение Launcher для Android. я могу получить список всех приложений и запустить способную деятельность сПолучение приложений с двумя или более действиями
ArrayList<PInfo> res = new ArrayList<PInfo>();
List<PackageInfo> packs = ctx.getPackageManager().getInstalledPackages(PackageManager.GET_ACTIVITIES);
final PackageItemInfo.DisplayNameComparator comparator = new PackageItemInfo.DisplayNameComparator(ctx.getPackageManager());
Collections.sort(packs, new Comparator<PackageInfo>() {
@Override
public int compare(PackageInfo lhs, PackageInfo rhs) {
return comparator.compare(lhs.applicationInfo, rhs.applicationInfo);
}
});
for (int i = 0; i < packs.size(); i++) {
PackageInfo p = packs.get(i);
if (p.packageName != null && ctx.getPackageManager().getLaunchIntentForPackage(p.packageName) != null) {
PInfo newInfo = new PInfo();
if (p.applicationInfo.loadLabel(ctx.getPackageManager()).toString().length() > 15) {
newInfo.appname = p.applicationInfo.loadLabel(ctx.getPackageManager()).toString().substring(0, 15);
} else {
newInfo.appname = p.applicationInfo.loadLabel(ctx.getPackageManager()).toString();
}
newInfo.packageName = p.packageName;
newInfo.icon = p.applicationInfo.loadIcon(ctx.getPackageManager());
res.add(newInfo);
}
}
этого.
Но проблема в том, что есть 2 запускаемых действия, таких как телефон и приложение для контактов.
Я имею в виду, например, samsung включил контакты, запускающие активную деятельность и запуск телефона, способных работать в одном пакете. Но с помощью этого кода я могу только получить приложение контактов в мое мнение, телефонное приложение отсутствует. как другие пусковые установки справляются с этим? или что мне не хватает?
Спасибо большое, это решило проблему: D –
Также спасибо за быстрый ответ :) –