怎么获取应用程序的主类名呢
怎样获取应用程序的主类名呢?
怎么获取系统内第三方应用的主Activity呢?
PackageManager pm= getPackageManager();
List<PackageInfo> packs = pm.getInstalledPackages(0);
for (PackageInfo pi : packs) {
HashMap<String, Object> map = new HashMap<String, Object>();
map.put("icon", pi.applicationInfo.loadIcon(pm));//图标
map.put("appName", pi.applicationInfo.loadLabel(pm));//应用名
map.put("packageName", pi.packageName);//包名
}
包名可以获取,但是不知道怎么获取主类名
pi.activities[0].name 这样获取一直是空指针
------解决方案--------------------
PackageManager manager = getPackageManager();
Intent mainIntent = new Intent(Intent.ACTION_MAIN, null);
mainIntent.addCategory(Intent.CATEGORY_LAUNCHER);
final List<ResolveInfo> apps = manager.queryIntentActivities(mainIntent, 0);
Collections.sort(apps, new ResolveInfo.DisplayNameComparator(manager));
找到所有的已安装程序,遍历出你想要的名字。 希望能够帮到你。 更多内容访问:http://www.drovik.com
怎么获取系统内第三方应用的主Activity呢?
PackageManager pm= getPackageManager();
List<PackageInfo> packs = pm.getInstalledPackages(0);
for (PackageInfo pi : packs) {
HashMap<String, Object> map = new HashMap<String, Object>();
map.put("icon", pi.applicationInfo.loadIcon(pm));//图标
map.put("appName", pi.applicationInfo.loadLabel(pm));//应用名
map.put("packageName", pi.packageName);//包名
}
包名可以获取,但是不知道怎么获取主类名
pi.activities[0].name 这样获取一直是空指针
------解决方案--------------------
PackageManager manager = getPackageManager();
Intent mainIntent = new Intent(Intent.ACTION_MAIN, null);
mainIntent.addCategory(Intent.CATEGORY_LAUNCHER);
final List<ResolveInfo> apps = manager.queryIntentActivities(mainIntent, 0);
Collections.sort(apps, new ResolveInfo.DisplayNameComparator(manager));
找到所有的已安装程序,遍历出你想要的名字。 希望能够帮到你。 更多内容访问:http://www.drovik.com