Android获取设备已安装的应用
生活随笔
收集整理的這篇文章主要介紹了
Android获取设备已安装的应用
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
2019獨(dú)角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>
項(xiàng)目中, 我們經(jīng)常要用到顯示系統(tǒng)已安裝的應(yīng)用, 可以通過(guò)兩種方式獲取已安裝的應(yīng)用, 一種是通過(guò)ApplicationInfo, 一種是通過(guò)ResolveInfo. 這里用的是ResolveInfo, 上代碼。
<!-- lang: java --> PackageManager packageMgr = getActivity().getPackageManager();Intent mainIntent = new Intent(Intent.ACTION_MAIN, null);mainIntent.addCategory(Intent.CATEGORY_LAUNCHER);List<ResolveInfo> resovleInfos = packageMgr.queryIntentActivities(mainIntent, 0);for (ResolveInfo resolve : resovleInfos) {// 自定義的類(lèi)CarAllInstalledAppInfo app = new CarAllInstalledAppInfo();// resolve.loadIcon(packageMgr) 獲取應(yīng)用程序圖標(biāo)app.setAppIcon(resolve.loadIcon(packageMgr));// resolve.loadLabel(packageMgr) 獲取應(yīng)用程序名稱(chēng)app.setAppName(resolve.loadLabel(packageMgr).toString());// resolve.loadLabel(packageMgr) 獲取應(yīng)用程序報(bào)名app.setAppPackage(resolve.activityInfo.packageName);// resolve.loadLabel(packageMgr) 獲取應(yīng)用程序啟動(dòng)的第一個(gè)activityapp.setEntranceActivity(resolve.activityInfo.name);apps.add(app);}// 打開(kāi)應(yīng)用程序ComponentName component = new ComponentName(app.getAppPackage(), app.getEntranceActivity());Intent intent = new Intent(Intent.ACTION_MAIN);// 此處需要填寫(xiě), 否則會(huì)出現(xiàn)打開(kāi)Contact.apk nullpointer異常intent.addCategory(Intent.CATEGORY_LAUNCHER);intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK| Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);intent.setComponent(component);startActivity(intent);轉(zhuǎn)載于:https://my.oschina.net/abellee/blog/87786
總結(jié)
以上是生活随笔為你收集整理的Android获取设备已安装的应用的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: (转)64bit上安装32位oracle
- 下一篇: Android开发入门之学习笔记(三):