Android之应用是否有启动页面(具有CATEGORY_LAUNCHER属性)

序言

最近遇到一个问题,就是判断这个应用是否具有启动页面,即是不是插件或者服务类应用,不需要展示页面的应用。相信开发过Launcher应用的小伙伴肯定知道这个问题怎么解决。很简单,都是细节问题,稍加注意即可,大牛还请绕路。

实战篇

获取所有安装的应用使用这个方法:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
public void getInstalledApps(Context context) {
PackageManager packageManager = context.getPackageManager();
List<PackageInfo> list = packageManager.getInstalledPackages(packageManager.GET_ACTIVITIES);
for (PackageInfo p : list) {
AppInfoEntity infoEntity = new AppInfoEntity();
infoEntity.setAppName(packageManager.getApplicationLabel(p.applicationInfo).toString());
infoEntity.setAppIcon(p.applicationInfo.loadIcon(packageManager));
infoEntity.setAppPkgName(p.applicationInfo.packageName);
infoEntity.setApkPath(p.applicationInfo.sourceDir);
File file = new File(p.applicationInfo.sourceDir);
infoEntity.setAppSize((int) file.length());
int flags = p.applicationInfo.flags;
if ((flags & ApplicationInfo.FLAG_SYSTEM) > 0) {
// 系统应用
} else {
// 安装应用
}
}
}


本站访问量   |   您是第 位.