之前的文章向大家介紹了幾個(gè)項(xiàng)目中常用的實(shí)用功能,那么在這篇文中,我將向大家介紹如何獲取Android手機(jī)中已經(jīng)安裝的手機(jī)應(yīng)用程序,好了,廢話不多說,直接上代碼
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
private String getInstalledAppListAsString(){ PackageManager pm = context.getPackageManager(); List<ApplicationInfo> apps = pm.getInstalledApplications(PackageManager.GET_GIDS); StringBuffer stringBuffer = new StringBuffer(); for (ApplicationInfo app : apps) { if (pm.getLaunchIntentForPackage(app.packageName) != null ) { // apps with launcher intent if ((app.flags & ApplicationInfo.FLAG_UPDATED_SYSTEM_APP) == 1 ) { // updated system apps } else if ((app.flags & ApplicationInfo.FLAG_SYSTEM) == 1 ) { // system apps } else { // user installed apps stringBuffer.append(app.packageName).append( ';' ); } } } return stringBuffer.toString(); } |
下面我們看看具體如何獲取各個(gè)應(yīng)用的相關(guān)信息呢
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
|
package cn.lyz.mobilesafe.domain; import android.graphics.drawable.Drawable; /** * 獲取的應(yīng)用基本信息實(shí)體類 * @author liuyazhuang * */ public class AppInfo { //圖標(biāo) private Drawable app_icon; //應(yīng)用名稱 private String app_name; //應(yīng)用版本號(hào) private String app_version; //應(yīng)用包名 private String packagename; //是否是用戶app private boolean isUserApp; public AppInfo() { super (); // TODO Auto-generated constructor stub } public AppInfo(Drawable app_icon, String app_name, String app_version, String packagename) { super (); this .app_icon = app_icon; this .app_name = app_name; this .app_version = app_version; this .packagename = packagename; } public AppInfo(Drawable app_icon, String app_name, String app_version, String packagename, boolean isUserApp) { super (); this .app_icon = app_icon; this .app_name = app_name; this .app_version = app_version; this .packagename = packagename; this .isUserApp = isUserApp; } public Drawable getApp_icon() { return app_icon; } public void setApp_icon(Drawable app_icon) { this .app_icon = app_icon; } public String getApp_name() { return app_name; } public void setApp_name(String app_name) { this .app_name = app_name; } public String getApp_version() { return app_version; } public void setApp_version(String app_version) { this .app_version = app_version; } public String getPackagename() { return packagename; } public void setPackagename(String packagename) { this .packagename = packagename; } public boolean isUserApp() { return isUserApp; } public void setUserApp( boolean isUserApp) { this .isUserApp = isUserApp; } @Override public String toString() { return "AppInfo [app_icon=" + app_icon + ", app_name=" + app_name + ", app_version=" + app_version + ", packagename=" + packagename + ", isUserApp=" + isUserApp + "]" ; } } |