android 查询手机已安装的第三方应用程序
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;
}
總結
以上是生活随笔為你收集整理的android 查询手机已安装的第三方应用程序的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C# ASP 面试题 2017
- 下一篇: 财付通还信用卡失败什么时候退钱?钱退到哪