標籤:android class blog java com get
1、擷取手機上已安裝第三方的應用的應用程式名稱和包名並列印
private void queryFilterAppInfo() {
PackageManager pm = this.getPackageManager();
// 查詢所有已經安裝的應用程式
List<ApplicationInfo> listAppcations = pm.getInstalledApplications(PackageManager.GET_UNINSTALLED_PACKAGES);
Collections.sort(listAppcations,new ApplicationInfo.DisplayNameComparator(pm));// 排序
// 第三方應用程式
for (ApplicationInfo app : listAppcations) {
//非系統程式
if ((app.flags & ApplicationInfo.FLAG_SYSTEM) <= 0) {
Log.e("Sang", ""+app.loadLabel(pm)+" 的包名是:"+app.packageName);
}
//本來是系統程式,被使用者手動更新後,該系統程式也成為第三方應用程式了
else if ((app.flags & ApplicationInfo.FLAG_UPDATED_SYSTEM_APP) != 0){
Log.e("Sang", ""+app.loadLabel(pm)+" 的包名是:"+app.packageName);
}
}
return ;
}
Log輸出樣式,如:" QQ 的包名是: com.tencent.mobileqq" !
private List<PushDownList> queryFilterAppInfo() {
pm = this.getPackageManager();
// 查詢所有已經安裝的應用程式
List<ApplicationInfo> listAppcations = pm.getInstalledApplications(PackageManager.GET_UNINSTALLED_PACKAGES);
Collections.sort(listAppcations,new ApplicationInfo.DisplayNameComparator(pm));// 排序
List<PushDownList> appInfos = new ArrayList<PushDownList>(); // 儲存過濾查到的AppInfo
// 第三方應用程式
appInfos.clear();
for (ApplicationInfo app : listAppcations) {
//非系統程式
if ((app.flags & ApplicationInfo.FLAG_SYSTEM) <= 0) {
appInfos.add(getAppInfo(app));
}
//本來是系統程式,被使用者手動更新後,該系統程式也成為第三方應用程式了
else if ((app.flags & ApplicationInfo.FLAG_UPDATED_SYSTEM_APP) != 0){
appInfos.add(getAppInfo(app));
}
}
return appInfos;
}